@cdklabs/cdk-appmod-catalog-blueprints 1.16.0 → 1.17.0
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/.jsii +992 -168
- package/lib/document-processing/adapter/queued-s3-adapter.js +1 -1
- package/lib/document-processing/agentic-document-processing.js +1 -1
- package/lib/document-processing/base-document-processing.js +1 -1
- package/lib/document-processing/bedrock-document-processing.d.ts +1 -0
- package/lib/document-processing/bedrock-document-processing.js +10 -6
- package/lib/document-processing/default-document-processing-config.js +1 -1
- package/lib/document-processing/index.d.ts +2 -0
- package/lib/document-processing/index.js +3 -1
- package/lib/document-processing/localstack-agentic-document-processing.d.ts +20 -0
- package/lib/document-processing/localstack-agentic-document-processing.js +66 -0
- package/lib/document-processing/localstack-bedrock-document-processing.d.ts +16 -0
- package/lib/document-processing/localstack-bedrock-document-processing.js +38 -0
- package/lib/document-processing/resources/cleanup/handler.py +16 -1
- package/lib/document-processing/resources/default-localstack-invoke/index.py +184 -0
- package/lib/document-processing/resources/default-localstack-invoke/provider_runtime.py +251 -0
- package/lib/document-processing/resources/default-localstack-invoke/requirements.txt +5 -0
- package/lib/document-processing/resources/default-sqs-consumer/index.py +17 -2
- package/lib/document-processing/resources/pdf-chunking/handler.py +16 -1
- package/lib/document-processing/tests/localstack-agentic-document-processing.test.d.ts +1 -0
- package/lib/document-processing/tests/localstack-agentic-document-processing.test.js +78 -0
- package/lib/document-processing/tests/localstack-document-processing.test.d.ts +1 -0
- package/lib/document-processing/tests/localstack-document-processing.test.js +116 -0
- package/lib/framework/agents/base-agent.js +1 -1
- package/lib/framework/agents/batch-agent.d.ts +1 -0
- package/lib/framework/agents/batch-agent.js +7 -4
- package/lib/framework/agents/default-agent-config.js +1 -1
- package/lib/framework/agents/index.d.ts +1 -0
- package/lib/framework/agents/index.js +2 -1
- package/lib/framework/agents/interactive-agent.js +88 -11
- package/lib/framework/agents/knowledge-base/base-knowledge-base.js +1 -1
- package/lib/framework/agents/knowledge-base/bedrock-knowledge-base.js +1 -1
- package/lib/framework/agents/localstack-batch-agent.d.ts +15 -0
- package/lib/framework/agents/localstack-batch-agent.js +33 -0
- package/lib/framework/agents/resources/default-ollama-agent/batch.py +396 -0
- package/lib/framework/agents/resources/default-ollama-agent/models.py +7 -0
- package/lib/framework/agents/resources/default-ollama-agent/requirements.txt +9 -0
- package/lib/framework/agents/resources/default-ollama-agent/runtime_support.py +237 -0
- package/lib/framework/agents/resources/default-ollama-agent/utils.py +77 -0
- package/lib/framework/bedrock/bedrock.d.ts +9 -0
- package/lib/framework/bedrock/bedrock.js +20 -10
- package/lib/framework/custom-resource/default-runtimes.js +1 -1
- package/lib/framework/foundation/access-log.js +1 -1
- package/lib/framework/foundation/eventbridge-broker.js +1 -1
- package/lib/framework/foundation/network.d.ts +1 -1
- package/lib/framework/foundation/network.js +8 -3
- package/lib/framework/index.d.ts +1 -0
- package/lib/framework/index.js +2 -1
- package/lib/framework/localstack/index.d.ts +1 -0
- package/lib/framework/localstack/index.js +18 -0
- package/lib/framework/localstack/localstack-config.d.ts +79 -0
- package/lib/framework/localstack/localstack-config.js +49 -0
- package/lib/framework/tests/localstack-batch-agent.test.d.ts +1 -0
- package/lib/framework/tests/localstack-batch-agent.test.js +67 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utilities/data-loader.js +1 -1
- package/lib/utilities/lambda-iam-utils.js +1 -1
- package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +1 -1
- package/lib/utilities/observability/cloudwatch-transaction-search.js +1 -1
- package/lib/utilities/observability/default-observability-config.js +1 -1
- package/lib/utilities/observability/lambda-observability-property-injector.js +1 -1
- package/lib/utilities/observability/log-group-data-protection-utils.js +1 -1
- package/lib/utilities/observability/powertools-config.js +1 -1
- package/lib/utilities/observability/state-machine-observability-property-injector.js +1 -1
- package/lib/webapp/frontend-construct.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import os
|
|
3
|
+
import re
|
|
4
|
+
from typing import Any, Dict, Optional
|
|
5
|
+
|
|
6
|
+
MODEL_PROVIDER_BEDROCK = 'bedrock'
|
|
7
|
+
MODEL_PROVIDER_OLLAMA = 'ollama'
|
|
8
|
+
OUTPUT_CONTRACT_NONE = 'none'
|
|
9
|
+
OUTPUT_CONTRACT_FRAUD_V1 = 'fraud_v1'
|
|
10
|
+
MAX_DEBUG_PAYLOAD_CHARS = int(os.getenv('DEBUG_AGENT_MAX_CHARS', '4000'))
|
|
11
|
+
REQUIRED_FRAUD_RESULT_KEYS = {'risk_score', 'risk_level', 'findings', 'indicators', 'recommended_actions'}
|
|
12
|
+
REQUIRED_FRAUD_FINDINGS_KEYS = {'metadata_analysis', 'pattern_matches', 'anomalies', 'database_checks'}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _is_truthy_env(var_name: str) -> bool:
|
|
16
|
+
return os.getenv(var_name, '').strip().lower() in {'1', 'true', 'yes', 'on'}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def debug_agent_payload_enabled() -> bool:
|
|
20
|
+
return _is_truthy_env('DEBUG_AGENT_PAYLOAD')
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def debug_agent_tool_flow_enabled() -> bool:
|
|
24
|
+
return _is_truthy_env('DEBUG_AGENT_TOOL_FLOW')
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def truncate_for_debug(text: str, max_chars: int = MAX_DEBUG_PAYLOAD_CHARS) -> str:
|
|
28
|
+
if len(text) <= max_chars:
|
|
29
|
+
return text
|
|
30
|
+
return f'{text[:max_chars]}...[truncated]'
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def resolve_model_provider() -> str:
|
|
34
|
+
provider = os.getenv('MODEL_PROVIDER', MODEL_PROVIDER_BEDROCK).strip().lower()
|
|
35
|
+
if provider in {MODEL_PROVIDER_BEDROCK, MODEL_PROVIDER_OLLAMA}:
|
|
36
|
+
return provider
|
|
37
|
+
return MODEL_PROVIDER_BEDROCK
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def resolve_output_contract() -> str:
|
|
41
|
+
output_contract = os.getenv('AGENT_OUTPUT_CONTRACT', OUTPUT_CONTRACT_NONE).strip().lower()
|
|
42
|
+
if output_contract == OUTPUT_CONTRACT_FRAUD_V1:
|
|
43
|
+
return OUTPUT_CONTRACT_FRAUD_V1
|
|
44
|
+
return OUTPUT_CONTRACT_NONE
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def is_fraud_output_contract_enabled() -> bool:
|
|
48
|
+
return resolve_output_contract() == OUTPUT_CONTRACT_FRAUD_V1
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def resolve_ollama_model_name(model_id: Optional[str]) -> str:
|
|
52
|
+
raw_model_id = model_id or ''
|
|
53
|
+
explicit_ollama_model = os.getenv('OLLAMA_MODEL_ID')
|
|
54
|
+
if explicit_ollama_model:
|
|
55
|
+
return explicit_ollama_model
|
|
56
|
+
|
|
57
|
+
if raw_model_id.startswith('ollama/'):
|
|
58
|
+
return raw_model_id.split('ollama/', 1)[1]
|
|
59
|
+
if raw_model_id.startswith('ollama.'):
|
|
60
|
+
return raw_model_id.split('ollama.', 1)[1]
|
|
61
|
+
return raw_model_id
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def build_agent_model(model_id: Optional[str]) -> Any:
|
|
65
|
+
resolved_provider = resolve_model_provider()
|
|
66
|
+
resolved_model_id = model_id or ''
|
|
67
|
+
|
|
68
|
+
if resolved_provider != MODEL_PROVIDER_OLLAMA:
|
|
69
|
+
return resolved_model_id
|
|
70
|
+
|
|
71
|
+
from strands.models import OllamaModel
|
|
72
|
+
|
|
73
|
+
ollama_host = os.getenv('OLLAMA_BASE_URL') or os.getenv('OLLAMA_HOST')
|
|
74
|
+
ollama_model_name = resolve_ollama_model_name(resolved_model_id)
|
|
75
|
+
if not ollama_model_name:
|
|
76
|
+
raise ValueError('OLLAMA model name is empty. Set MODEL_ID or OLLAMA_MODEL_ID.')
|
|
77
|
+
|
|
78
|
+
return OllamaModel(
|
|
79
|
+
host=ollama_host,
|
|
80
|
+
model_id=ollama_model_name,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def configure_provider_runtime() -> None:
|
|
85
|
+
provider = resolve_model_provider()
|
|
86
|
+
if provider != MODEL_PROVIDER_OLLAMA:
|
|
87
|
+
return
|
|
88
|
+
|
|
89
|
+
ollama_base_url = os.getenv('OLLAMA_BASE_URL')
|
|
90
|
+
if ollama_base_url and not os.getenv('OLLAMA_HOST'):
|
|
91
|
+
os.environ['OLLAMA_HOST'] = ollama_base_url
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def extract_json_from_text(text: str, logger) -> Optional[Dict[str, Any]]:
|
|
95
|
+
json_block_pattern = re.compile(r'```json\s*(.*?)\s*```', re.DOTALL | re.IGNORECASE)
|
|
96
|
+
decoder = json.JSONDecoder()
|
|
97
|
+
# Track each JSON candidate with its absolute end index in the full response text.
|
|
98
|
+
# This ensures selection prefers the latest object in the output, not the longest substring.
|
|
99
|
+
candidates: list[tuple[Dict[str, Any], int]] = []
|
|
100
|
+
for json_block_match in json_block_pattern.finditer(text):
|
|
101
|
+
block_text = json_block_match.group(1).strip()
|
|
102
|
+
try:
|
|
103
|
+
parsed = json.loads(block_text)
|
|
104
|
+
if isinstance(parsed, dict):
|
|
105
|
+
candidates.append((parsed, json_block_match.end()))
|
|
106
|
+
except json.JSONDecodeError as error:
|
|
107
|
+
logger.warning('Failed to parse JSON from code block', extra={'error': str(error)})
|
|
108
|
+
|
|
109
|
+
for start_idx, char in enumerate(text):
|
|
110
|
+
if char != '{':
|
|
111
|
+
continue
|
|
112
|
+
try:
|
|
113
|
+
parsed, end_idx = decoder.raw_decode(text[start_idx:])
|
|
114
|
+
except json.JSONDecodeError:
|
|
115
|
+
continue
|
|
116
|
+
|
|
117
|
+
if not isinstance(parsed, dict):
|
|
118
|
+
continue
|
|
119
|
+
|
|
120
|
+
absolute_end_idx = start_idx + end_idx
|
|
121
|
+
candidates.append((parsed, absolute_end_idx))
|
|
122
|
+
|
|
123
|
+
if candidates:
|
|
124
|
+
if not is_fraud_output_contract_enabled():
|
|
125
|
+
return max(candidates, key=lambda candidate: candidate[1])[0]
|
|
126
|
+
|
|
127
|
+
schema_candidates = [
|
|
128
|
+
candidate for candidate in candidates if REQUIRED_FRAUD_RESULT_KEYS.issubset(set(candidate[0].keys()))
|
|
129
|
+
]
|
|
130
|
+
if schema_candidates:
|
|
131
|
+
return max(schema_candidates, key=lambda candidate: candidate[1])[0]
|
|
132
|
+
|
|
133
|
+
return max(candidates, key=lambda candidate: candidate[1])[0]
|
|
134
|
+
|
|
135
|
+
logger.info('No valid JSON found in text')
|
|
136
|
+
return None
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def extract_response_text(response: Any) -> str:
|
|
140
|
+
message = getattr(response, 'message', None)
|
|
141
|
+
if not isinstance(message, dict):
|
|
142
|
+
return str(response)
|
|
143
|
+
|
|
144
|
+
content_blocks = message.get('content')
|
|
145
|
+
if not isinstance(content_blocks, list):
|
|
146
|
+
return json.dumps(message)
|
|
147
|
+
|
|
148
|
+
text_parts = []
|
|
149
|
+
for block in content_blocks:
|
|
150
|
+
if isinstance(block, dict) and isinstance(block.get('text'), str):
|
|
151
|
+
text_parts.append(block['text'])
|
|
152
|
+
|
|
153
|
+
if text_parts:
|
|
154
|
+
return '\n'.join(text_parts)
|
|
155
|
+
|
|
156
|
+
return json.dumps(message)
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def extract_response_message(response: Any) -> Dict[str, Any]:
|
|
160
|
+
message = getattr(response, 'message', None)
|
|
161
|
+
if isinstance(message, dict):
|
|
162
|
+
return message
|
|
163
|
+
return {'raw': str(response)}
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def summarize_tool_usage_from_message(message: Dict[str, Any]) -> Dict[str, Any]:
|
|
167
|
+
content_blocks = message.get('content', [])
|
|
168
|
+
if not isinstance(content_blocks, list):
|
|
169
|
+
return {'block_count': 0, 'tool_use_count': 0, 'tool_result_count': 0, 'tools': []}
|
|
170
|
+
|
|
171
|
+
tool_names = []
|
|
172
|
+
tool_result_count = 0
|
|
173
|
+
for block in content_blocks:
|
|
174
|
+
if not isinstance(block, dict):
|
|
175
|
+
continue
|
|
176
|
+
|
|
177
|
+
tool_use = block.get('toolUse') or block.get('tool_use')
|
|
178
|
+
if isinstance(tool_use, dict):
|
|
179
|
+
name = tool_use.get('name')
|
|
180
|
+
if isinstance(name, str):
|
|
181
|
+
tool_names.append(name)
|
|
182
|
+
|
|
183
|
+
if block.get('toolResult') is not None or block.get('tool_result') is not None:
|
|
184
|
+
tool_result_count += 1
|
|
185
|
+
|
|
186
|
+
return {
|
|
187
|
+
'block_count': len(content_blocks),
|
|
188
|
+
'tool_use_count': len(tool_names),
|
|
189
|
+
'tool_result_count': tool_result_count,
|
|
190
|
+
'tools': tool_names,
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def is_empty_assistant_payload(payload: Any) -> bool:
|
|
195
|
+
return (
|
|
196
|
+
isinstance(payload, dict)
|
|
197
|
+
and payload.get('role') == 'assistant'
|
|
198
|
+
and isinstance(payload.get('content'), list)
|
|
199
|
+
and len(payload.get('content', [])) == 0
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def build_final_json_retry_prompt() -> str:
|
|
204
|
+
if is_fraud_output_contract_enabled():
|
|
205
|
+
return (
|
|
206
|
+
'Provide the final answer now as a single valid JSON object only. '
|
|
207
|
+
'Do not call any tools. '
|
|
208
|
+
'Use exactly these keys: risk_score, risk_level, findings, indicators, recommended_actions.'
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
return (
|
|
212
|
+
'Provide the final answer now as a single valid JSON object only. '
|
|
213
|
+
'Do not call any tools.'
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
def is_complete_fraud_result(result: Dict[str, Any]) -> bool:
|
|
218
|
+
if not isinstance(result, dict):
|
|
219
|
+
return False
|
|
220
|
+
if not REQUIRED_FRAUD_RESULT_KEYS.issubset(result.keys()):
|
|
221
|
+
return False
|
|
222
|
+
findings = result.get('findings')
|
|
223
|
+
if not isinstance(findings, dict):
|
|
224
|
+
return False
|
|
225
|
+
return REQUIRED_FRAUD_FINDINGS_KEYS.issubset(findings.keys())
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
def build_required_tools_retry_prompt() -> str:
|
|
229
|
+
return (
|
|
230
|
+
'Your previous response was incomplete. '
|
|
231
|
+
'You MUST run the full fraud tool sequence in this exact order: '
|
|
232
|
+
'1) extract_document_fields, 2) analyze_metadata, 3) detect_anomalies, '
|
|
233
|
+
'4) match_patterns, 5) lookup_vendor. '
|
|
234
|
+
'After all tools complete, return ONLY valid JSON with keys: '
|
|
235
|
+
'risk_score, risk_level, findings, indicators, recommended_actions. '
|
|
236
|
+
'The findings object MUST include: metadata_analysis, pattern_matches, anomalies, database_checks.'
|
|
237
|
+
)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import boto3
|
|
3
|
+
import json
|
|
4
|
+
import zipfile
|
|
5
|
+
import glob
|
|
6
|
+
from models import ToolLocationDefinition
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def _resolve_endpoint_url(*service_env_keys: str):
|
|
10
|
+
for key in service_env_keys:
|
|
11
|
+
endpoint = os.getenv(key)
|
|
12
|
+
if endpoint:
|
|
13
|
+
return endpoint
|
|
14
|
+
return None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def create_boto3_client(service_name: str, *service_env_keys: str):
|
|
18
|
+
endpoint_url = _resolve_endpoint_url(*service_env_keys, 'AWS_ENDPOINT_URL')
|
|
19
|
+
if endpoint_url:
|
|
20
|
+
return boto3.client(service_name, endpoint_url=endpoint_url)
|
|
21
|
+
return boto3.client(service_name)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
s3 = create_boto3_client('s3', 'AWS_ENDPOINT_URL_S3')
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def convert_tools_config_into_model(config: str) -> list[ToolLocationDefinition]:
|
|
28
|
+
definitions: list[ToolLocationDefinition] = []
|
|
29
|
+
|
|
30
|
+
tools_raw = json.loads(config)
|
|
31
|
+
|
|
32
|
+
for t in tools_raw:
|
|
33
|
+
definitions.append(ToolLocationDefinition.model_validate_json(json.dumps(t)))
|
|
34
|
+
|
|
35
|
+
return definitions
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def download_tools(tools: list[ToolLocationDefinition]) -> list[str]:
|
|
39
|
+
local_tools_location: list[str] = []
|
|
40
|
+
|
|
41
|
+
for t in tools:
|
|
42
|
+
if t.isFile:
|
|
43
|
+
# Single file tool - download directly
|
|
44
|
+
local_location = f"/tmp/{os.path.basename(t.key)}"
|
|
45
|
+
s3.download_file(t.bucketName, t.key, local_location)
|
|
46
|
+
local_tools_location.append(local_location)
|
|
47
|
+
elif t.isZipArchive:
|
|
48
|
+
# Directory tool packaged as zip - download and extract
|
|
49
|
+
zip_location = f"/tmp/{os.path.basename(t.key)}"
|
|
50
|
+
s3.download_file(t.bucketName, t.key, zip_location)
|
|
51
|
+
|
|
52
|
+
# Extract to a directory based on the zip name (without .zip extension)
|
|
53
|
+
extract_dir = zip_location.replace('.zip', '')
|
|
54
|
+
os.makedirs(extract_dir, exist_ok=True)
|
|
55
|
+
|
|
56
|
+
with zipfile.ZipFile(zip_location, 'r') as zip_ref:
|
|
57
|
+
zip_ref.extractall(extract_dir)
|
|
58
|
+
|
|
59
|
+
# Find all Python files in the extracted directory (excluding test files)
|
|
60
|
+
for py_file in glob.glob(f"{extract_dir}/**/*.py", recursive=True):
|
|
61
|
+
if not os.path.basename(py_file).startswith('test_'):
|
|
62
|
+
local_tools_location.append(py_file)
|
|
63
|
+
|
|
64
|
+
# Clean up the zip file
|
|
65
|
+
os.remove(zip_location)
|
|
66
|
+
|
|
67
|
+
return local_tools_location
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def download_and_load_system_prompt(bucketName, key) -> str:
|
|
71
|
+
local_location = '/tmp/system_prompt.txt'
|
|
72
|
+
s3.download_file(bucketName, key, local_location)
|
|
73
|
+
|
|
74
|
+
with open(local_location, 'r') as file:
|
|
75
|
+
data = file.read()
|
|
76
|
+
|
|
77
|
+
return data
|
|
@@ -18,6 +18,15 @@ export interface BedrockModelProps {
|
|
|
18
18
|
* @default FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
19
19
|
*/
|
|
20
20
|
readonly fmModelId?: FoundationModelIdentifier;
|
|
21
|
+
/**
|
|
22
|
+
* Direct model ID override.
|
|
23
|
+
*
|
|
24
|
+
* Use this when invoking a model ID not available in `FoundationModelIdentifier`,
|
|
25
|
+
* for example LocalStack Bedrock/Ollama-backed model IDs.
|
|
26
|
+
*
|
|
27
|
+
* When provided, this value is used as-is for runtime invocation.
|
|
28
|
+
*/
|
|
29
|
+
readonly customModelId?: string;
|
|
21
30
|
/**
|
|
22
31
|
* Enable cross-region inference for Bedrock models to improve availability and performance.
|
|
23
32
|
* When enabled, uses inference profiles instead of direct model invocation.
|
|
@@ -21,34 +21,44 @@ var BedrockCrossRegionInferencePrefix;
|
|
|
21
21
|
})(BedrockCrossRegionInferencePrefix || (exports.BedrockCrossRegionInferencePrefix = BedrockCrossRegionInferencePrefix = {}));
|
|
22
22
|
class BedrockModelUtils {
|
|
23
23
|
static deriveActualModelId(props) {
|
|
24
|
-
const {
|
|
25
|
-
|
|
24
|
+
const { modelId, crossRegionPrefix, usingCustomModelId } = BedrockModelUtils.deriveDefaults(props);
|
|
25
|
+
if (usingCustomModelId) {
|
|
26
|
+
return modelId;
|
|
27
|
+
}
|
|
28
|
+
return props?.useCrossRegionInference ? `${crossRegionPrefix}.${modelId}` : modelId;
|
|
26
29
|
}
|
|
27
30
|
static generateModelIAMPermissions(scope, props) {
|
|
28
31
|
const { account, region } = aws_cdk_lib_1.Stack.of(scope);
|
|
29
|
-
const {
|
|
32
|
+
const { modelId, crossRegionPrefix, usingCustomModelId } = BedrockModelUtils.deriveDefaults(props);
|
|
33
|
+
const resources = [
|
|
34
|
+
`arn:aws:bedrock:*::foundation-model/${modelId}`,
|
|
35
|
+
];
|
|
36
|
+
// Preserve current behavior for AWS foundation models with optional inference profile access.
|
|
37
|
+
if (!usingCustomModelId) {
|
|
38
|
+
resources.push(`arn:aws:bedrock:${region}:${account}:inference-profile/${crossRegionPrefix}.${modelId}`);
|
|
39
|
+
}
|
|
30
40
|
return new aws_iam_1.PolicyStatement({
|
|
31
41
|
effect: aws_iam_1.Effect.ALLOW,
|
|
32
42
|
actions: [
|
|
33
43
|
'bedrock:InvokeModel',
|
|
34
44
|
'bedrock:InvokeModelWithResponseStream',
|
|
35
45
|
],
|
|
36
|
-
resources
|
|
37
|
-
`arn:aws:bedrock:*::foundation-model/${fmModelId.modelId}`,
|
|
38
|
-
`arn:aws:bedrock:${region}:${account}:inference-profile/${crossRegionPrefix}.${fmModelId.modelId}`,
|
|
39
|
-
],
|
|
46
|
+
resources,
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
49
|
static deriveDefaults(props) {
|
|
43
50
|
const fmModelId = props?.fmModelId || aws_bedrock_1.FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0;
|
|
51
|
+
const usingCustomModelId = !!props?.customModelId;
|
|
52
|
+
const modelId = props?.customModelId || fmModelId.modelId;
|
|
44
53
|
const crossRegionPrefix = props?.crossRegionInferencePrefix || BedrockCrossRegionInferencePrefix.US;
|
|
45
54
|
return {
|
|
46
|
-
|
|
55
|
+
modelId,
|
|
56
|
+
usingCustomModelId,
|
|
47
57
|
crossRegionPrefix,
|
|
48
58
|
};
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
61
|
exports.BedrockModelUtils = BedrockModelUtils;
|
|
52
62
|
_a = JSII_RTTI_SYMBOL_1;
|
|
53
|
-
BedrockModelUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
BedrockModelUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.17.0" };
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYmVkcm9jay9iZWRyb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUV0Qyw2Q0FBb0M7QUFDcEMseURBQW9FO0FBQ3BFLGlEQUE4RDtBQUc5RDs7O0dBR0c7QUFDSCxJQUFZLGlDQUtYO0FBTEQsV0FBWSxpQ0FBaUM7SUFDM0MsOENBQThDO0lBQzlDLDhDQUFTLENBQUE7SUFDVCw4Q0FBOEM7SUFDOUMsOENBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxpQ0FBaUMsaURBQWpDLGlDQUFpQyxRQUs1QztBQWtDRCxNQUFhLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDekQsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdEYsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO1FBQ25GLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRyxNQUFNLFNBQVMsR0FBRztZQUNoQix1Q0FBdUMsT0FBTyxFQUFFO1NBQ2pELENBQUM7UUFFRiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsTUFBTSxJQUFJLE9BQU8sc0JBQXNCLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQztRQUVELE9BQU8sSUFBSSx5QkFBZSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFO2dCQUNQLHFCQUFxQjtnQkFDckIsdUNBQXVDO2FBQ3hDO1lBQ0QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXlCO1FBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssRUFBRSxTQUFTLElBQUksdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7UUFDeEcsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLElBQUksaUNBQWlDLENBQUMsRUFBRSxDQUFDO1FBRXBHLE9BQU87WUFDTCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLGlCQUFpQjtTQUNsQixDQUFDO0lBQ0osQ0FBQzs7QUEzQ0gsOENBNENDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcmVmaXggb3B0aW9ucyBmb3IgQmVkcm9jayBtb2RlbHMuXG4gKiBVc2VkIHRvIGNvbmZpZ3VyZSBpbmZlcmVuY2UgcHJvZmlsZXMgZm9yIGltcHJvdmVkIGF2YWlsYWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBlbnVtIEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeCB7XG4gIC8qKiBVUy1iYXNlZCBjcm9zcy1yZWdpb24gaW5mZXJlbmNlIHByb2ZpbGUgKi9cbiAgVVMgPSAndXMnLFxuICAvKiogRVUtYmFzZWQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlICovXG4gIEVVID0gJ2V1Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxQcm9wcyB7XG4gIC8qKlxuICAgICAqIEZvdW5kYXRpb24gbW9kZWwgdG8gdXNlXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfU09OTkVUXzRfMjAyNTA1MTRfVjFfMFxuICAgICAqL1xuICByZWFkb25seSBmbU1vZGVsSWQ/OiBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgbW9kZWwgSUQgb3ZlcnJpZGUuXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4gaW52b2tpbmcgYSBtb2RlbCBJRCBub3QgYXZhaWxhYmxlIGluIGBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyYCxcbiAgICogZm9yIGV4YW1wbGUgTG9jYWxTdGFjayBCZWRyb2NrL09sbGFtYS1iYWNrZWQgbW9kZWwgSURzLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGlzIHZhbHVlIGlzIHVzZWQgYXMtaXMgZm9yIHJ1bnRpbWUgaW52b2NhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbU1vZGVsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogRW5hYmxlIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgZm9yIEJlZHJvY2sgbW9kZWxzIHRvIGltcHJvdmUgYXZhaWxhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS5cbiAgICAgKiBXaGVuIGVuYWJsZWQsIHVzZXMgaW5mZXJlbmNlIHByb2ZpbGVzIGluc3RlYWQgb2YgZGlyZWN0IG1vZGVsIGludm9jYXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3Jvc3NSZWdpb25JbmZlcmVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICAgKiBQcmVmaXggZm9yIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBPbmx5IHVzZWQgd2hlbiB1c2VDcm9zc1JlZ2lvbkluZmVyZW5jZSBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VU1xuICAgICAqL1xuICByZWFkb25seSBjcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeD86IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeDtcbn1cblxuZXhwb3J0IGNsYXNzIEJlZHJvY2tNb2RlbFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBkZXJpdmVBY3R1YWxNb2RlbElkKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbW9kZWxJZCwgY3Jvc3NSZWdpb25QcmVmaXgsIHVzaW5nQ3VzdG9tTW9kZWxJZCB9ID0gQmVkcm9ja01vZGVsVXRpbHMuZGVyaXZlRGVmYXVsdHMocHJvcHMpO1xuICAgIGlmICh1c2luZ0N1c3RvbU1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBtb2RlbElkO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHM/LnVzZUNyb3NzUmVnaW9uSW5mZXJlbmNlID8gYCR7Y3Jvc3NSZWdpb25QcmVmaXh9LiR7bW9kZWxJZH1gIDogbW9kZWxJZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVNb2RlbElBTVBlcm1pc3Npb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBQb2xpY3lTdGF0ZW1lbnQge1xuICAgIGNvbnN0IHsgYWNjb3VudCwgcmVnaW9uIH0gPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgeyBtb2RlbElkLCBjcm9zc1JlZ2lvblByZWZpeCwgdXNpbmdDdXN0b21Nb2RlbElkIH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBbXG4gICAgICBgYXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbElkfWAsXG4gICAgXTtcblxuICAgIC8vIFByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIEFXUyBmb3VuZGF0aW9uIG1vZGVscyB3aXRoIG9wdGlvbmFsIGluZmVyZW5jZSBwcm9maWxlIGFjY2Vzcy5cbiAgICBpZiAoIXVzaW5nQ3VzdG9tTW9kZWxJZCkge1xuICAgICAgcmVzb3VyY2VzLnB1c2goYGFybjphd3M6YmVkcm9jazoke3JlZ2lvbn06JHthY2NvdW50fTppbmZlcmVuY2UtcHJvZmlsZS8ke2Nyb3NzUmVnaW9uUHJlZml4fS4ke21vZGVsSWR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdiZWRyb2NrOkludm9rZU1vZGVsJyxcbiAgICAgICAgJ2JlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0nLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlcml2ZURlZmF1bHRzKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBmbU1vZGVsSWQgPSBwcm9wcz8uZm1Nb2RlbElkIHx8IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIuQU5USFJPUElDX0NMQVVERV9TT05ORVRfNF8yMDI1MDUxNF9WMV8wO1xuICAgIGNvbnN0IHVzaW5nQ3VzdG9tTW9kZWxJZCA9ICEhcHJvcHM/LmN1c3RvbU1vZGVsSWQ7XG4gICAgY29uc3QgbW9kZWxJZCA9IHByb3BzPy5jdXN0b21Nb2RlbElkIHx8IGZtTW9kZWxJZC5tb2RlbElkO1xuICAgIGNvbnN0IGNyb3NzUmVnaW9uUHJlZml4ID0gcHJvcHM/LmNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4IHx8IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VUztcblxuICAgIHJldHVybiB7XG4gICAgICBtb2RlbElkLFxuICAgICAgdXNpbmdDdXN0b21Nb2RlbElkLFxuICAgICAgY3Jvc3NSZWdpb25QcmVmaXgsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -13,7 +13,7 @@ class DefaultRuntimes {
|
|
|
13
13
|
}
|
|
14
14
|
exports.DefaultRuntimes = DefaultRuntimes;
|
|
15
15
|
_a = DefaultRuntimes, _b = JSII_RTTI_SYMBOL_1;
|
|
16
|
-
DefaultRuntimes[_b] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes", version: "1.
|
|
16
|
+
DefaultRuntimes[_b] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes", version: "1.17.0" };
|
|
17
17
|
/**
|
|
18
18
|
* Default runtime for all Lambda functions in the use cases.
|
|
19
19
|
*/
|
|
@@ -117,5 +117,5 @@ class AccessLog extends constructs_1.Construct {
|
|
|
117
117
|
}
|
|
118
118
|
exports.AccessLog = AccessLog;
|
|
119
119
|
_a = JSII_RTTI_SYMBOL_1;
|
|
120
|
-
AccessLog[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.AccessLog", version: "1.
|
|
120
|
+
AccessLog[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.AccessLog", version: "1.17.0" };
|
|
121
121
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvZm91bmRhdGlvbi9hY2Nlc3MtbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLHlDQUF5QztBQUN6QywyQ0FBdUM7QUErQnZDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxzQkFBUztJQWdCdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUF3QixFQUFFO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUM7UUFFeEQseUVBQXlFO1FBQ3pFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLFFBQVEsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7UUFFdkQsMEJBQTBCO1FBQzFCLE1BQU0scUJBQXFCLEdBQXVCO1lBQ2hEO2dCQUNFLEVBQUUsRUFBRSxvQkFBb0I7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRTtvQkFDWDt3QkFDRSxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUI7d0JBQy9DLGVBQWUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElB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O0lBQzlELENBQUM7O0FBcEhILDhCQXFIQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQWNjZXNzTG9nIGNvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0xvZ1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBTMyBidWNrZXQgZm9yIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0ICdhY2Nlc3MtbG9ncydcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBydWxlcyBmb3IgdGhlIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0IFRyYW5zaXRpb24gdG8gSUEgYWZ0ZXIgMzAgZGF5cywgZGVsZXRlIGFmdGVyIDkwIGRheXNcbiAgICovXG4gIHJlYWRvbmx5IGxpZmVjeWNsZVJ1bGVzPzogczMuTGlmZWN5Y2xlUnVsZVtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB2ZXJzaW9uaW5nIG9uIHRoZSBhY2Nlc3MgbG9ncyBidWNrZXRcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBidWNrZXQgcHJlZml4IGZvciBvcmdhbml6aW5nIGFjY2VzcyBsb2dzXG4gICAqIEBkZWZhdWx0ICdhY2Nlc3MtbG9ncydcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldFByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBY2Nlc3NMb2cgY29uc3RydWN0IHRoYXQgcHJvdmlkZXMgYSBjZW50cmFsaXplZCBTMyBidWNrZXQgZm9yIHN0b3JpbmcgYWNjZXNzIGxvZ3MuXG4gKiBUaGlzIGNvbnN0cnVjdCBjcmVhdGVzIGEgc2VjdXJlIFMzIGJ1Y2tldCB3aXRoIGFwcHJvcHJpYXRlIHBvbGljaWVzIGZvciBBV1Mgc2VydmljZXNcbiAqIHRvIGRlbGl2ZXIgYWNjZXNzIGxvZ3MuXG4gKlxuICogVXNhZ2U6XG4gKlxuICogY29uc3QgYWNjZXNzTG9nID0gbmV3IEFjY2Vzc0xvZyh0aGlzLCAnQWNjZXNzTG9nJyk7XG4gKiBjb25zdCBidWNrZXQgPSBhY2Nlc3NMb2cuYnVja2V0O1xuICogY29uc3QgYnVja2V0TmFtZSA9IGFjY2Vzc0xvZy5idWNrZXROYW1lO1xuICovXG5leHBvcnQgY2xhc3MgQWNjZXNzTG9nIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgZm9yIHN0b3JpbmcgYWNjZXNzIGxvZ3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFMzIGJ1Y2tldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1Y2tldCBwcmVmaXggdXNlZCBmb3Igb3JnYW5pemluZyBhY2Nlc3MgbG9nc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldFByZWZpeDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY2Nlc3NMb2dQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFN0b3JlIHRoZSBidWNrZXQgcHJlZml4XG4gICAgdGhpcy5idWNrZXRQcmVmaXggPSBwcm9wcy5idWNrZXRQcmVmaXggfHwgJ2FjY2Vzcy1sb2dzJztcblxuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBidWNrZXQgbmFtZSB3aXRoIGFjY291bnQgYW5kIHJlZ2lvbiB0byBhdm9pZCBjb25mbGljdHNcbiAgICBjb25zdCBhY2NvdW50SWQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudDtcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGNvbnN0IGJhc2VOYW1lID0gcHJvcHMuYnVja2V0TmFtZSB8fCAnYWNjZXNzLWxvZ3MnO1xuICAgIHRoaXMuYnVja2V0TmFtZSA9IGAke2Jhc2VOYW1lfS0ke2FjY291bnRJZH0tJHtyZWdpb259YDtcblxuICAgIC8vIERlZmF1bHQgbGlmZWN5Y2xlIHJ1bGVzXG4gICAgY29uc3QgZGVmYXVsdExpZmVjeWNsZVJ1bGVzOiBzMy5MaWZlY3ljbGVSdWxlW10gPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnQWNjZXNzTG9nTGlmZWN5Y2xlJyxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdHJhbnNpdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdG9yYWdlQ2xhc3M6IHMzLlN0b3JhZ2VDbGFzcy5JTkZSRVFVRU5UX0FDQ0VTUyxcbiAgICAgICAgICAgIHRyYW5zaXRpb25BZnRlcjogY2RrLkR1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RvcmFnZUNsYXNzOiBzMy5TdG9yYWdlQ2xhc3MuR0xBQ0lFUixcbiAgICAgICAgICAgIHRyYW5zaXRpb25BZnRlcjogY2RrLkR1cmF0aW9uLmRheXMoOTApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDM2NSksIC8vIERlbGV0ZSBhZnRlciAxIHllYXJcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIC8vIENyZWF0ZSB0aGUgUzMgYnVja2V0IGZvciBhY2Nlc3MgbG9nc1xuICAgIHRoaXMuYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQWNjZXNzTG9nQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogdGhpcy5idWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcy52ZXJzaW9uZWQgfHwgZmFsc2UsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IHByb3BzLmxpZmVjeWNsZVJ1bGVzIHx8IGRlZmF1bHRMaWZlY3ljbGVSdWxlcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LlJFVEFJTiwgLy8gUmV0YWluIGxvZ3MgZm9yIGNvbXBsaWFuY2VcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsIC8vIEVuZm9yY2UgU1NMIGZvciBhbGwgcmVxdWVzdHNcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogZmFsc2UsIC8vIERpc2FibGUgRXZlbnRCcmlkZ2UgZm9yIGNvc3Qgb3B0aW1pemF0aW9uXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYnVja2V0IHBvbGljeSB0byBhbGxvdyBhY2Nlc3MgbG9nIGRlbGl2ZXJ5IGZyb20gQVdTIHNlcnZpY2VzXG4gICAgdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdBbGxvd0FjY2Vzc0xvZ0RlbGl2ZXJ5JyxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIHByaW5jaXBhbHM6IFtcbiAgICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsb2dnaW5nLnMzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdkZWxpdmVyeS5sb2dzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIF0sXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzMzpQdXRPYmplY3QnLFxuICAgICAgICAnczM6R2V0QnVja2V0QWNsJyxcbiAgICAgICAgJ3MzOkxpc3RCdWNrZXQnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB0aGlzLmJ1Y2tldC5idWNrZXRBcm4sXG4gICAgICAgIGAke3RoaXMuYnVja2V0LmJ1Y2tldEFybn0vKmAsXG4gICAgICBdLFxuICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAnczM6eC1hbXotYWNsJzogJ2J1Y2tldC1vd25lci1mdWxsLWNvbnRyb2wnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICAvLyBBbGxvdyBFTEIgc2VydmljZSB0byB3cml0ZSBhY2Nlc3MgbG9nc1xuICAgIHRoaXMuYnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnQWxsb3dFTEJBY2Nlc3NMb2dEZWxpdmVyeScsXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBwcmluY2lwYWxzOiBbXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWxhc3RpY2xvYWRiYWxhbmNpbmcuYW1hem9uYXdzLmNvbScpLFxuICAgICAgXSxcbiAgICAgIGFjdGlvbnM6IFsnczM6UHV0T2JqZWN0J10sXG4gICAgICByZXNvdXJjZXM6IFtgJHt0aGlzLmJ1Y2tldC5idWNrZXRBcm59LypgXSxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTMyBidWNrZXQgcGF0aCBmb3IgYSBzcGVjaWZpYyBzZXJ2aWNlJ3MgYWNjZXNzIGxvZ3NcbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIChlLmcuLCAnYWxiJywgJ2Nsb3VkZnJvbnQnLCAnczMnKVxuICAgKiBAcGFyYW0gcmVzb3VyY2VOYW1lIE9wdGlvbmFsIHJlc291cmNlIG5hbWUgZm9yIGZ1cnRoZXIgb3JnYW5pemF0aW9uXG4gICAqIEByZXR1cm5zIFRoZSBTMyBwYXRoIGZvciB0aGUgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqL1xuICBwdWJsaWMgZ2V0TG9nUGF0aChzZXJ2aWNlTmFtZTogc3RyaW5nLCByZXNvdXJjZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VQYXRoID0gYCR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuYnVja2V0UHJlZml4fS8ke3NlcnZpY2VOYW1lfWA7XG4gICAgcmV0dXJuIHJlc291cmNlTmFtZSA/IGAke2Jhc2VQYXRofS8ke3Jlc291cmNlTmFtZX1gIDogYmFzZVBhdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTMyBVUkkgZm9yIGEgc3BlY2lmaWMgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgc2VydmljZSAoZS5nLiwgJ2FsYicsICdjbG91ZGZyb250JywgJ3MzJylcbiAgICogQHBhcmFtIHJlc291cmNlTmFtZSBPcHRpb25hbCByZXNvdXJjZSBuYW1lIGZvciBmdXJ0aGVyIG9yZ2FuaXphdGlvblxuICAgKiBAcmV0dXJucyBUaGUgUzMgVVJJIGZvciB0aGUgc2VydmljZSdzIGFjY2VzcyBsb2dzXG4gICAqL1xuICBwdWJsaWMgZ2V0TG9nVXJpKHNlcnZpY2VOYW1lOiBzdHJpbmcsIHJlc291cmNlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzMzovLyR7dGhpcy5nZXRMb2dQYXRoKHNlcnZpY2VOYW1lLCByZXNvdXJjZU5hbWUpfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -38,5 +38,5 @@ class EventbridgeBroker extends constructs_1.Construct {
|
|
|
38
38
|
}
|
|
39
39
|
exports.EventbridgeBroker = EventbridgeBroker;
|
|
40
40
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
EventbridgeBroker[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.EventbridgeBroker", version: "1.
|
|
41
|
+
EventbridgeBroker[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.EventbridgeBroker", version: "1.17.0" };
|
|
42
42
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRicmlkZ2UtYnJva2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdXNlLWNhc2VzL2ZyYW1ld29yay9mb3VuZGF0aW9uL2V2ZW50YnJpZGdlLWJyb2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1Qyx1REFBa0Q7QUFDbEQsaURBQTBDO0FBQzFDLHFFQUEwRDtBQUMxRCxpRkFBMkU7QUFDM0UsMkNBQXVDO0FBU3ZDLE1BQWEsaUJBQWtCLFNBQVEsc0JBQVM7SUFLOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvRCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBa0IsRUFBRSxXQUFnQjtRQUN6RCxPQUFPLElBQUksOENBQW9CLENBQUMsSUFBSSxFQUFFLHNCQUFzQixVQUFVLEVBQUUsRUFBRTtZQUN4RSxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQ3hCLFVBQVU7b0JBQ1YsTUFBTSxFQUFFLDZCQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0JILDhDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBFdmVudEJ1cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgeyBUYXNrSW5wdXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVB1dEV2ZW50cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50YnJpZGdlQnJva2VyUHJvcHMge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudFNvdXJjZTogc3RyaW5nO1xuICByZWFkb25seSBrbXNLZXk/OiBLZXk7XG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG5leHBvcnQgY2xhc3MgRXZlbnRicmlkZ2VCcm9rZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50U291cmNlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50YnVzOiBFdmVudEJ1cztcbiAgcmVhZG9ubHkga21zS2V5OiBLZXk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV2ZW50YnJpZGdlQnJva2VyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHJlbW92YWxQb2xpY3kgPSBwcm9wcy5yZW1vdmFsUG9saWN5IHx8IFJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiAgICB0aGlzLmttc0tleSA9IHByb3BzLmttc0tleSB8fCBuZXcgS2V5KHRoaXMsICdFdmVudEJyb2tlcktNU0tleScsIHtcbiAgICAgIGVuYWJsZUtleVJvdGF0aW9uOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcbiAgICB0aGlzLmV2ZW50YnVzID0gbmV3IEV2ZW50QnVzKHRoaXMsICdFdmVudEJ1cycsIHtcbiAgICAgIGV2ZW50QnVzTmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGttc0tleTogdGhpcy5rbXNLZXksXG4gICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50U291cmNlID0gcHJvcHMuZXZlbnRTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgc2VuZFZpYVNmbkNoYWluKGRldGFpbFR5cGU6IHN0cmluZywgZXZlbnREZXRhaWw6IGFueSkge1xuICAgIHJldHVybiBuZXcgRXZlbnRCcmlkZ2VQdXRFdmVudHModGhpcywgYFNmbkViUHV0RXZlbnRDaGFpbi0ke2RldGFpbFR5cGV9YCwge1xuICAgICAgZW50cmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXZlbnRCdXM6IHRoaXMuZXZlbnRidXMsXG4gICAgICAgICAgc291cmNlOiB0aGlzLmV2ZW50U291cmNlLFxuICAgICAgICAgIGRldGFpbFR5cGUsXG4gICAgICAgICAgZGV0YWlsOiBUYXNrSW5wdXQuZnJvbU9iamVjdChldmVudERldGFpbCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59Il19
|
|
@@ -16,6 +16,6 @@ export declare class Network extends Construct {
|
|
|
16
16
|
readonly vpc: IVpc;
|
|
17
17
|
private readonly props;
|
|
18
18
|
constructor(scope: Construct, id: string, props?: NetworkProps);
|
|
19
|
-
createServiceEndpoint(id: string, service: InterfaceVpcEndpointService, peer?: IPeer): InterfaceVpcEndpoint;
|
|
19
|
+
createServiceEndpoint(id: string, service: InterfaceVpcEndpointService, peer?: IPeer, privateDnsEnabled?: boolean): InterfaceVpcEndpoint;
|
|
20
20
|
applicationSubnetSelection(): SubnetSelection;
|
|
21
21
|
}
|
|
@@ -65,7 +65,7 @@ class Network extends constructs_1.Construct {
|
|
|
65
65
|
this.vpc = props.existingVpc;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
createServiceEndpoint(id, service, peer) {
|
|
68
|
+
createServiceEndpoint(id, service, peer, privateDnsEnabled) {
|
|
69
69
|
if (service === aws_ec2_1.InterfaceVpcEndpointAwsService.S3) {
|
|
70
70
|
this.vpc.addGatewayEndpoint(`${id}-gateway`, {
|
|
71
71
|
service: aws_ec2_1.GatewayVpcEndpointAwsService.S3,
|
|
@@ -76,10 +76,15 @@ class Network extends constructs_1.Construct {
|
|
|
76
76
|
vpc: this.vpc,
|
|
77
77
|
});
|
|
78
78
|
securityGroup.addIngressRule(peer || aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.HTTPS);
|
|
79
|
+
// Default to true for private VPCs (isolated subnets have no internet
|
|
80
|
+
// access, so private DNS is required for AWS SDK calls to resolve to
|
|
81
|
+
// the VPC endpoint), false otherwise to preserve existing behaviour.
|
|
82
|
+
const enablePrivateDns = privateDnsEnabled ?? !!this.props.private;
|
|
79
83
|
return this.vpc.addInterfaceEndpoint(`interface-endpoint-for-${id}`, {
|
|
80
84
|
service,
|
|
81
85
|
securityGroups: [securityGroup],
|
|
82
86
|
subnets: this.applicationSubnetSelection(),
|
|
87
|
+
privateDnsEnabled: enablePrivateDns,
|
|
83
88
|
});
|
|
84
89
|
}
|
|
85
90
|
applicationSubnetSelection() {
|
|
@@ -90,5 +95,5 @@ class Network extends constructs_1.Construct {
|
|
|
90
95
|
}
|
|
91
96
|
exports.Network = Network;
|
|
92
97
|
_a = JSII_RTTI_SYMBOL_1;
|
|
93
|
-
Network[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.Network", version: "1.
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
Network[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.Network", version: "1.17.0" };
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvZm91bmRhdGlvbi9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxpREFBK1M7QUFDL1MsMkNBQXVDO0FBY3ZDLE1BQWEsT0FBUSxTQUFRLHNCQUFTO0lBQzdCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUF5QjtRQUM1RixNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWhFLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUM1QixXQUFXLEVBQUUsR0FBRztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBS0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFzQixFQUFFO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO29CQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ2pFLFdBQVcsRUFBRSxDQUFDO29CQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29CQUN0QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1C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OztBQTlGSCwwQkErRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBHYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLCBJSXBBZGRyZXNzZXMsIEludGVyZmFjZVZwY0VuZHBvaW50LCBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UsIEludGVyZmFjZVZwY0VuZHBvaW50U2VydmljZSwgSXBBZGRyZXNzZXMsIElQZWVyLCBJVnBjLCBOYXRQcm92aWRlciwgUGVlciwgUG9ydCwgU2VjdXJpdHlHcm91cCwgU3VibmV0Q29uZmlndXJhdGlvbiwgU3VibmV0U2VsZWN0aW9uLCBTdWJuZXRUeXBlLCBWcGMsIFZwY0xvb2t1cE9wdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtQcm9wcyB7XG4gIHJlYWRvbmx5IGV4aXN0aW5nVnBjPzogSVZwYztcbiAgcmVhZG9ubHkgcHJpdmF0ZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGlwQWRkcmVzc2VzPzogSUlwQWRkcmVzc2VzO1xuICByZWFkb25seSBuYXRHYXRld2F5UHJvdmlkZXI/OiBOYXRQcm92aWRlcjtcbiAgcmVhZG9ubHkgbmF0R2F0ZXdheVN1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG4gIHJlYWRvbmx5IG5hdEdhdGV3YXlzPzogbnVtYmVyO1xuICByZWFkb25seSBtYXhBenM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1Ym5ldENvbmZpZ3VyYXRpb24/OiBTdWJuZXRDb25maWd1cmF0aW9uW107XG59XG5cbmV4cG9ydCBjbGFzcyBOZXR3b3JrIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHN0YXRpYyB1c2VFeGlzdGluZ1ZQQ0Zyb21Mb29rdXAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVnBjTG9va3VwT3B0aW9ucyk6IE5ldHdvcmsge1xuICAgIGNvbnN0IHZwYyA9IFZwYy5mcm9tTG9va3VwKHNjb3BlLCBgJHtpZH0tZXhpc3RpbmdWcGNgLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBuZXcgTmV0d29yayhzY29wZSwgaWQsIHtcbiAgICAgIGV4aXN0aW5nVnBjOiB2cGMsXG4gICAgfSk7XG4gIH1cblxuICByZWFkb25seSB2cGM6IElWcGM7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IE5ldHdvcmtQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV0d29ya1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIGlmICghcHJvcHMuZXhpc3RpbmdWcGMpIHtcbiAgICAgIGlmIChwcm9wcy5wcml2YXRlKSB7XG4gICAgICAgIHRoaXMudnBjID0gbmV3IFZwYyh0aGlzLCAnVlBDJywge1xuICAgICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy5pcEFkZHJlc3NlcyB8fCBJcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjAuMC8xNicpLFxuICAgICAgICAgIG5hdEdhdGV3YXlzOiAwLFxuICAgICAgICAgIG1heEF6czogcHJvcHMubWF4QXpzLFxuICAgICAgICAgIHZwY05hbWU6IHByb3BzLnZwY05hbWUsXG4gICAgICAgICAgc3VibmV0Q29uZmlndXJhdGlvbjogcHJvcHMuc3VibmV0Q29uZmlndXJhdGlvbiB8fCBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdJc29sYXRlZCcsXG4gICAgICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCxcbiAgICAgICAgICAgICAgY2lkck1hc2s6IDI0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudnBjID0gbmV3IFZwYyh0aGlzLCAnVlBDJywge1xuICAgICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy5pcEFkZHJlc3NlcyB8fCBJcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjAuMC8xNicpLFxuICAgICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogcHJvcHMubmF0R2F0ZXdheVByb3ZpZGVyLFxuICAgICAgICAgIG5hdEdhdGV3YXlTdWJuZXRzOiBwcm9wcy5uYXRHYXRld2F5U3VibmV0cyxcbiAgICAgICAgICBuYXRHYXRld2F5czogcHJvcHMubmF0R2F0ZXdheXMgfHwgMSxcbiAgICAgICAgICBtYXhBenM6IHByb3BzLm1heEF6cyxcbiAgICAgICAgICB2cGNOYW1lOiBwcm9wcy52cGNOYW1lLFxuICAgICAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IHByb3BzLnN1Ym5ldENvbmZpZ3VyYXRpb24gfHwgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnUHVibGljJyxcbiAgICAgICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgICAgICAgIGNpZHJNYXNrOiAyNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdQcml2YXRlJyxcbiAgICAgICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTLFxuICAgICAgICAgICAgICBjaWRyTWFzazogMjQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnSXNvbGF0ZWQnLFxuICAgICAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQsXG4gICAgICAgICAgICAgIGNpZHJNYXNrOiAyNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudnBjID0gcHJvcHMuZXhpc3RpbmdWcGM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZVNlcnZpY2VFbmRwb2ludChpZDogc3RyaW5nLCBzZXJ2aWNlOiBJbnRlcmZhY2VWcGNFbmRwb2ludFNlcnZpY2UsIHBlZXI/OiBJUGVlciwgcHJpdmF0ZURuc0VuYWJsZWQ/OiBib29sZWFuKTogSW50ZXJmYWNlVnBjRW5kcG9pbnQge1xuICAgIGlmIChzZXJ2aWNlID09PSBJbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuUzMpIHtcbiAgICAgIHRoaXMudnBjLmFkZEdhdGV3YXlFbmRwb2ludChgJHtpZH0tZ2F0ZXdheWAsIHtcbiAgICAgICAgc2VydmljZTogR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZS5TMyxcbiAgICAgICAgc3VibmV0czogW3RoaXMuYXBwbGljYXRpb25TdWJuZXRTZWxlY3Rpb24oKV0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgYHNnLWZvci1pbnRlcmZhY2UtZW5kcG9pbnQtJHtpZH1gLCB7XG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgIH0pO1xuXG4gICAgc2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShwZWVyIHx8IFBlZXIuYW55SXB2NCgpLCBQb3J0LkhUVFBTKTtcblxuICAgIC8vIERlZmF1bHQgdG8gdHJ1ZSBmb3IgcHJpdmF0ZSBWUENzIChpc29sYXRlZCBzdWJuZXRzIGhhdmUgbm8gaW50ZXJuZXRcbiAgICAvLyBhY2Nlc3MsIHNvIHByaXZhdGUgRE5TIGlzIHJlcXVpcmVkIGZvciBBV1MgU0RLIGNhbGxzIHRvIHJlc29sdmUgdG9cbiAgICAvLyB0aGUgVlBDIGVuZHBvaW50KSwgZmFsc2Ugb3RoZXJ3aXNlIHRvIHByZXNlcnZlIGV4aXN0aW5nIGJlaGF2aW91ci5cbiAgICBjb25zdCBlbmFibGVQcml2YXRlRG5zID0gcHJpdmF0ZURuc0VuYWJsZWQgPz8gISF0aGlzLnByb3BzLnByaXZhdGU7XG5cbiAgICByZXR1cm4gdGhpcy52cGMuYWRkSW50ZXJmYWNlRW5kcG9pbnQoYGludGVyZmFjZS1lbmRwb2ludC1mb3ItJHtpZH1gLCB7XG4gICAgICBzZXJ2aWNlLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFtzZWN1cml0eUdyb3VwXSxcbiAgICAgIHN1Ym5ldHM6IHRoaXMuYXBwbGljYXRpb25TdWJuZXRTZWxlY3Rpb24oKSxcbiAgICAgIHByaXZhdGVEbnNFbmFibGVkOiBlbmFibGVQcml2YXRlRG5zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGxpY2F0aW9uU3VibmV0U2VsZWN0aW9uKCk6IFN1Ym5ldFNlbGVjdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Ym5ldFR5cGU6IHRoaXMucHJvcHMucHJpdmF0ZSA/IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCA6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyxcbiAgICB9O1xuICB9XG59Il19
|
package/lib/framework/index.d.ts
CHANGED
package/lib/framework/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./custom-resource"), exports);
|
|
|
18
18
|
__exportStar(require("./foundation"), exports);
|
|
19
19
|
__exportStar(require("./agents"), exports);
|
|
20
20
|
__exportStar(require("./bedrock"), exports);
|
|
21
|
-
|
|
21
|
+
__exportStar(require("./localstack"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tcmVzb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3VuZGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYWdlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vYmVkcm9jayc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2Fsc3RhY2snO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './localstack-config';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./localstack-config"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2xvY2Fsc3RhY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9jYWxzdGFjay1jb25maWcnO1xuXG4iXX0=
|