@mikarinneoracle/oci-cdk-code-only-preview 0.0.14 → 0.0.16
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/README.md +1 -1
- package/bin/ocdk.js +38 -2
- package/bin/write-log-config.js +31 -11
- package/lib/.gen/providers/oci/data-oci-functions-functions/index.d.ts +295 -0
- package/lib/.gen/providers/oci/data-oci-functions-functions/index.js +733 -0
- package/lib/lib/oci-stack.js +19 -8
- package/lib/oci-stack.ts +18 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -133,7 +133,7 @@ export OCI_FUNCTION_APP_NAME='my-existing-function-app'
|
|
|
133
133
|
|
|
134
134
|
These settings are optional: `OCI_CODE_ONLY_SOURCE_DIR` (defaults to the current directory), `OCI_FUNCTION_MEMORY_MB` (from `func.yaml`, otherwise `256`), and `OCI_FUNCTION_TIMEOUT_SECONDS` (from `func.yaml`, otherwise `30`). `OCI_TENANCY_ID`, `OCI_REGION`, and `OCI_NAMESPACE` are also optional when they can be resolved from the active OCI CLI profile.
|
|
135
135
|
|
|
136
|
-
Each deploy re-builds `<function-name>.zip` in the project root and uploads that file. The ZIP has the required `function/` directory at its root, includes source files, and excludes `node_modules`, `.git`, `.tools`, `.terraform`, and `cdktf.out`. A successful code-only destroy removes this ZIP after Terraform has destroyed the Function App and infrastructure.
|
|
136
|
+
Each deploy re-builds `<function-name>.zip` in the project root and uploads that file. The ZIP has the required `function/` directory at its root, includes source files, and excludes `node_modules`, `.git`, `.tools`, `.terraform`, and `cdktf.out`. A successful code-only destroy removes this ZIP after Terraform has destroyed the Function App and infrastructure. With the default `OCI_STACK_ACTION=full-stack`, OCDK creates the API Gateway and uses a Terraform data source to resolve the CLI-managed function OCID for its route. The first code-only deploy therefore runs Terraform once to create the Function App, uploads the function, then runs Terraform again to create the Gateway deployment. Set `OCI_STACK_ACTION=function-only` to omit API Gateway.
|
|
137
137
|
|
|
138
138
|
After a successful code-only deploy, OCDK writes the log IDs for `npx ocdk tail:execution-log` automatically.
|
|
139
139
|
|
package/bin/ocdk.js
CHANGED
|
@@ -122,6 +122,18 @@ if (command === 'tail:execution-log') {
|
|
|
122
122
|
const projectDir = process.cwd();
|
|
123
123
|
const projectScript = path.join(projectDir, 'tail-function-logs.js');
|
|
124
124
|
if (fs.existsSync(projectScript)) {
|
|
125
|
+
// A stack synth creates a placeholder script. Refresh it from Terraform
|
|
126
|
+
// outputs before executing so it never masks the working fallback tailer.
|
|
127
|
+
const projectScriptContent = fs.readFileSync(projectScript, 'utf8');
|
|
128
|
+
if (projectScriptContent.includes('__EXECUTION_LOG_ID__') || projectScriptContent.includes('__LOG_GROUP_ID__')) {
|
|
129
|
+
const configureLogs = spawnSync('node', [path.join(root, 'bin', 'write-log-config.js')], {
|
|
130
|
+
stdio: 'inherit',
|
|
131
|
+
cwd: projectDir,
|
|
132
|
+
shell: false,
|
|
133
|
+
env: process.env,
|
|
134
|
+
});
|
|
135
|
+
if (configureLogs.status !== 0) process.exit(configureLogs.status ?? 1);
|
|
136
|
+
}
|
|
125
137
|
const result = spawnSync('node', [projectScript, ...args.slice(1)], {
|
|
126
138
|
stdio: 'inherit',
|
|
127
139
|
cwd: projectDir,
|
|
@@ -154,12 +166,26 @@ if (command === 'deploy' && codeOnlyEnabled) {
|
|
|
154
166
|
console.error('Missing script: "deploy-code-only". Update @mikarinneoracle/oci-cdk.');
|
|
155
167
|
process.exit(1);
|
|
156
168
|
}
|
|
157
|
-
const
|
|
169
|
+
const requestedStackAction = (process.env.OCI_STACK_ACTION || 'full-stack').trim().toLowerCase();
|
|
170
|
+
const wantsFullStack = requestedStackAction !== 'function-only' && requestedStackAction !== 'function';
|
|
171
|
+
const baseEnv = {
|
|
158
172
|
...process.env,
|
|
159
173
|
OCI_CODE_ONLY: '1',
|
|
160
|
-
OCI_STACK_ACTION: 'function-only',
|
|
161
174
|
OCI_PROJECT_DIR: projectDir,
|
|
162
175
|
};
|
|
176
|
+
// On a new project, create the Function App first. Later code-only deploys
|
|
177
|
+
// keep the full Terraform graph, including the existing API Gateway route.
|
|
178
|
+
let hasFunctionApp = false;
|
|
179
|
+
try {
|
|
180
|
+
resolveCodeOnlyFunctionAppId(baseEnv);
|
|
181
|
+
hasFunctionApp = true;
|
|
182
|
+
} catch {
|
|
183
|
+
// No state/output yet: the bootstrap Terraform pass creates the app.
|
|
184
|
+
}
|
|
185
|
+
const env = {
|
|
186
|
+
...baseEnv,
|
|
187
|
+
OCI_STACK_ACTION: hasFunctionApp ? requestedStackAction : 'function-only',
|
|
188
|
+
};
|
|
163
189
|
const infrastructure = spawnSync('npm', ['run', '--silent', 'deploy', '--', ...passthroughArgs], {
|
|
164
190
|
stdio: 'inherit',
|
|
165
191
|
cwd: root,
|
|
@@ -181,6 +207,16 @@ if (command === 'deploy' && codeOnlyEnabled) {
|
|
|
181
207
|
env: { ...env, OCI_FUNCTION_APP_ID: functionAppId },
|
|
182
208
|
});
|
|
183
209
|
if (result.status !== 0) process.exit(result.status ?? 1);
|
|
210
|
+
if (wantsFullStack && !hasFunctionApp) {
|
|
211
|
+
console.log('Creating API Gateway deployment for the code-only function...');
|
|
212
|
+
const apiGatewayDeploy = spawnSync('npm', ['run', '--silent', 'deploy', '--', ...passthroughArgs], {
|
|
213
|
+
stdio: 'inherit',
|
|
214
|
+
cwd: root,
|
|
215
|
+
shell: false,
|
|
216
|
+
env: { ...baseEnv, OCI_STACK_ACTION: 'full-stack' },
|
|
217
|
+
});
|
|
218
|
+
if (apiGatewayDeploy.status !== 0) process.exit(apiGatewayDeploy.status ?? 1);
|
|
219
|
+
}
|
|
184
220
|
const logConfig = spawnSync('node', [path.join(root, 'bin', 'write-log-config.js')], {
|
|
185
221
|
stdio: 'inherit',
|
|
186
222
|
cwd: projectDir,
|
package/bin/write-log-config.js
CHANGED
|
@@ -3,29 +3,49 @@
|
|
|
3
3
|
* Write tail-function-logs.js to the project root with log IDs from terraform output.
|
|
4
4
|
* Run from project root after deploy. Usage: npx ocdk write-log-config
|
|
5
5
|
*/
|
|
6
|
-
const {
|
|
6
|
+
const { spawnSync } = require('child_process');
|
|
7
7
|
const path = require('path');
|
|
8
8
|
const fs = require('fs');
|
|
9
9
|
|
|
10
10
|
const packageRoot = path.join(__dirname, '..');
|
|
11
11
|
const projectRoot = process.cwd();
|
|
12
12
|
const stackName = process.env.OCI_STACK_NAME || 'oci-stack';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
function outputValue(value, key) {
|
|
14
|
+
if (!value || typeof value !== 'object') return undefined;
|
|
15
|
+
if (Object.prototype.hasOwnProperty.call(value, key)) {
|
|
16
|
+
const output = value[key];
|
|
17
|
+
if (typeof output === 'string') return output;
|
|
18
|
+
if (output && typeof output === 'object' && typeof output.value === 'string') return output.value;
|
|
19
|
+
}
|
|
20
|
+
for (const child of Object.values(value)) {
|
|
21
|
+
const found = outputValue(child, key);
|
|
22
|
+
if (found) return found;
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
19
25
|
}
|
|
20
26
|
|
|
27
|
+
const tempDir = fs.mkdtempSync(path.join(require('os').tmpdir(), 'ocdk-log-output-'));
|
|
28
|
+
const outputFile = path.join(tempDir, 'outputs.json');
|
|
21
29
|
let logGroupId;
|
|
22
30
|
let executionLogId;
|
|
23
31
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
const result = spawnSync('npm', ['run', '--silent', 'cdktf', '--', 'output', stackName, '--outputs-file', outputFile], {
|
|
33
|
+
cwd: packageRoot,
|
|
34
|
+
encoding: 'utf8',
|
|
35
|
+
shell: false,
|
|
36
|
+
});
|
|
37
|
+
if (result.status !== 0 || !fs.existsSync(outputFile)) {
|
|
38
|
+
throw new Error((result.stderr || result.stdout || '').trim() || 'cdktf output did not produce an output file.');
|
|
39
|
+
}
|
|
40
|
+
const outputs = JSON.parse(fs.readFileSync(outputFile, 'utf8'));
|
|
41
|
+
logGroupId = outputValue(outputs, 'log_group_id');
|
|
42
|
+
executionLogId = outputValue(outputs, 'execution_log_id');
|
|
43
|
+
} catch (error) {
|
|
44
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
45
|
+
console.error(`Could not read Terraform outputs: ${error.message}`);
|
|
28
46
|
process.exit(1);
|
|
47
|
+
} finally {
|
|
48
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
29
49
|
}
|
|
30
50
|
|
|
31
51
|
if (!logGroupId || !executionLogId) {
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { Construct } from 'constructs';
|
|
2
|
+
import * as cdktf from 'cdktf';
|
|
3
|
+
export interface DataOciFunctionsFunctionsConfig extends cdktf.TerraformMetaArguments {
|
|
4
|
+
/**
|
|
5
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#application_id DataOciFunctionsFunctions#application_id}
|
|
6
|
+
*/
|
|
7
|
+
readonly applicationId: string;
|
|
8
|
+
/**
|
|
9
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#display_name DataOciFunctionsFunctions#display_name}
|
|
10
|
+
*/
|
|
11
|
+
readonly displayName?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#id DataOciFunctionsFunctions#id}
|
|
14
|
+
*
|
|
15
|
+
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
16
|
+
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
|
|
17
|
+
*/
|
|
18
|
+
readonly id?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#state DataOciFunctionsFunctions#state}
|
|
21
|
+
*/
|
|
22
|
+
readonly state?: string;
|
|
23
|
+
/**
|
|
24
|
+
* filter block
|
|
25
|
+
*
|
|
26
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#filter DataOciFunctionsFunctions#filter}
|
|
27
|
+
*/
|
|
28
|
+
readonly filter?: DataOciFunctionsFunctionsFilter[] | cdktf.IResolvable;
|
|
29
|
+
}
|
|
30
|
+
export interface DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfig {
|
|
31
|
+
}
|
|
32
|
+
export declare function dataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigToTerraform(struct?: DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfig): any;
|
|
33
|
+
export declare function dataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigToHclTerraform(struct?: DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfig): any;
|
|
34
|
+
export declare class DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigOutputReference extends cdktf.ComplexObject {
|
|
35
|
+
private isEmptyObject;
|
|
36
|
+
/**
|
|
37
|
+
* @param terraformResource The parent resource
|
|
38
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
39
|
+
* @param complexObjectIndex the index of this item in the list
|
|
40
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
41
|
+
*/
|
|
42
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
43
|
+
get internalValue(): DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfig | undefined;
|
|
44
|
+
set internalValue(value: DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfig | undefined);
|
|
45
|
+
get count(): number;
|
|
46
|
+
get strategy(): string;
|
|
47
|
+
}
|
|
48
|
+
export declare class DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigList extends cdktf.ComplexList {
|
|
49
|
+
protected terraformResource: cdktf.IInterpolatingParent;
|
|
50
|
+
protected terraformAttribute: string;
|
|
51
|
+
protected wrapsSet: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* @param terraformResource The parent resource
|
|
54
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
55
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
56
|
+
*/
|
|
57
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
58
|
+
/**
|
|
59
|
+
* @param index the index of the item to return
|
|
60
|
+
*/
|
|
61
|
+
get(index: number): DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigOutputReference;
|
|
62
|
+
}
|
|
63
|
+
export interface DataOciFunctionsFunctionsFunctionsSourceDetails {
|
|
64
|
+
}
|
|
65
|
+
export declare function dataOciFunctionsFunctionsFunctionsSourceDetailsToTerraform(struct?: DataOciFunctionsFunctionsFunctionsSourceDetails): any;
|
|
66
|
+
export declare function dataOciFunctionsFunctionsFunctionsSourceDetailsToHclTerraform(struct?: DataOciFunctionsFunctionsFunctionsSourceDetails): any;
|
|
67
|
+
export declare class DataOciFunctionsFunctionsFunctionsSourceDetailsOutputReference extends cdktf.ComplexObject {
|
|
68
|
+
private isEmptyObject;
|
|
69
|
+
/**
|
|
70
|
+
* @param terraformResource The parent resource
|
|
71
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
72
|
+
* @param complexObjectIndex the index of this item in the list
|
|
73
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
74
|
+
*/
|
|
75
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
76
|
+
get internalValue(): DataOciFunctionsFunctionsFunctionsSourceDetails | undefined;
|
|
77
|
+
set internalValue(value: DataOciFunctionsFunctionsFunctionsSourceDetails | undefined);
|
|
78
|
+
get pbfListingId(): string;
|
|
79
|
+
get sourceType(): string;
|
|
80
|
+
}
|
|
81
|
+
export declare class DataOciFunctionsFunctionsFunctionsSourceDetailsList extends cdktf.ComplexList {
|
|
82
|
+
protected terraformResource: cdktf.IInterpolatingParent;
|
|
83
|
+
protected terraformAttribute: string;
|
|
84
|
+
protected wrapsSet: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* @param terraformResource The parent resource
|
|
87
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
88
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
89
|
+
*/
|
|
90
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
91
|
+
/**
|
|
92
|
+
* @param index the index of the item to return
|
|
93
|
+
*/
|
|
94
|
+
get(index: number): DataOciFunctionsFunctionsFunctionsSourceDetailsOutputReference;
|
|
95
|
+
}
|
|
96
|
+
export interface DataOciFunctionsFunctionsFunctionsTraceConfig {
|
|
97
|
+
}
|
|
98
|
+
export declare function dataOciFunctionsFunctionsFunctionsTraceConfigToTerraform(struct?: DataOciFunctionsFunctionsFunctionsTraceConfig): any;
|
|
99
|
+
export declare function dataOciFunctionsFunctionsFunctionsTraceConfigToHclTerraform(struct?: DataOciFunctionsFunctionsFunctionsTraceConfig): any;
|
|
100
|
+
export declare class DataOciFunctionsFunctionsFunctionsTraceConfigOutputReference extends cdktf.ComplexObject {
|
|
101
|
+
private isEmptyObject;
|
|
102
|
+
/**
|
|
103
|
+
* @param terraformResource The parent resource
|
|
104
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
105
|
+
* @param complexObjectIndex the index of this item in the list
|
|
106
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
107
|
+
*/
|
|
108
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
109
|
+
get internalValue(): DataOciFunctionsFunctionsFunctionsTraceConfig | undefined;
|
|
110
|
+
set internalValue(value: DataOciFunctionsFunctionsFunctionsTraceConfig | undefined);
|
|
111
|
+
get isEnabled(): cdktf.IResolvable;
|
|
112
|
+
}
|
|
113
|
+
export declare class DataOciFunctionsFunctionsFunctionsTraceConfigList extends cdktf.ComplexList {
|
|
114
|
+
protected terraformResource: cdktf.IInterpolatingParent;
|
|
115
|
+
protected terraformAttribute: string;
|
|
116
|
+
protected wrapsSet: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* @param terraformResource The parent resource
|
|
119
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
120
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
121
|
+
*/
|
|
122
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
123
|
+
/**
|
|
124
|
+
* @param index the index of the item to return
|
|
125
|
+
*/
|
|
126
|
+
get(index: number): DataOciFunctionsFunctionsFunctionsTraceConfigOutputReference;
|
|
127
|
+
}
|
|
128
|
+
export interface DataOciFunctionsFunctionsFunctions {
|
|
129
|
+
}
|
|
130
|
+
export declare function dataOciFunctionsFunctionsFunctionsToTerraform(struct?: DataOciFunctionsFunctionsFunctions): any;
|
|
131
|
+
export declare function dataOciFunctionsFunctionsFunctionsToHclTerraform(struct?: DataOciFunctionsFunctionsFunctions): any;
|
|
132
|
+
export declare class DataOciFunctionsFunctionsFunctionsOutputReference extends cdktf.ComplexObject {
|
|
133
|
+
private isEmptyObject;
|
|
134
|
+
/**
|
|
135
|
+
* @param terraformResource The parent resource
|
|
136
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
137
|
+
* @param complexObjectIndex the index of this item in the list
|
|
138
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
139
|
+
*/
|
|
140
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
141
|
+
get internalValue(): DataOciFunctionsFunctionsFunctions | undefined;
|
|
142
|
+
set internalValue(value: DataOciFunctionsFunctionsFunctions | undefined);
|
|
143
|
+
get applicationId(): string;
|
|
144
|
+
get compartmentId(): string;
|
|
145
|
+
private _config;
|
|
146
|
+
get config(): cdktf.StringMap;
|
|
147
|
+
private _definedTags;
|
|
148
|
+
get definedTags(): cdktf.StringMap;
|
|
149
|
+
get displayName(): string;
|
|
150
|
+
private _freeformTags;
|
|
151
|
+
get freeformTags(): cdktf.StringMap;
|
|
152
|
+
get id(): string;
|
|
153
|
+
get image(): string;
|
|
154
|
+
get imageDigest(): string;
|
|
155
|
+
get invokeEndpoint(): string;
|
|
156
|
+
get memoryInMbs(): string;
|
|
157
|
+
private _provisionedConcurrencyConfig;
|
|
158
|
+
get provisionedConcurrencyConfig(): DataOciFunctionsFunctionsFunctionsProvisionedConcurrencyConfigList;
|
|
159
|
+
get shape(): string;
|
|
160
|
+
private _sourceDetails;
|
|
161
|
+
get sourceDetails(): DataOciFunctionsFunctionsFunctionsSourceDetailsList;
|
|
162
|
+
get state(): string;
|
|
163
|
+
get timeCreated(): string;
|
|
164
|
+
get timeUpdated(): string;
|
|
165
|
+
get timeoutInSeconds(): number;
|
|
166
|
+
private _traceConfig;
|
|
167
|
+
get traceConfig(): DataOciFunctionsFunctionsFunctionsTraceConfigList;
|
|
168
|
+
}
|
|
169
|
+
export declare class DataOciFunctionsFunctionsFunctionsList extends cdktf.ComplexList {
|
|
170
|
+
protected terraformResource: cdktf.IInterpolatingParent;
|
|
171
|
+
protected terraformAttribute: string;
|
|
172
|
+
protected wrapsSet: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* @param terraformResource The parent resource
|
|
175
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
176
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
177
|
+
*/
|
|
178
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
179
|
+
/**
|
|
180
|
+
* @param index the index of the item to return
|
|
181
|
+
*/
|
|
182
|
+
get(index: number): DataOciFunctionsFunctionsFunctionsOutputReference;
|
|
183
|
+
}
|
|
184
|
+
export interface DataOciFunctionsFunctionsFilter {
|
|
185
|
+
/**
|
|
186
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#name DataOciFunctionsFunctions#name}
|
|
187
|
+
*/
|
|
188
|
+
readonly name: string;
|
|
189
|
+
/**
|
|
190
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#regex DataOciFunctionsFunctions#regex}
|
|
191
|
+
*/
|
|
192
|
+
readonly regex?: boolean | cdktf.IResolvable;
|
|
193
|
+
/**
|
|
194
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#values DataOciFunctionsFunctions#values}
|
|
195
|
+
*/
|
|
196
|
+
readonly values: string[];
|
|
197
|
+
}
|
|
198
|
+
export declare function dataOciFunctionsFunctionsFilterToTerraform(struct?: DataOciFunctionsFunctionsFilter | cdktf.IResolvable): any;
|
|
199
|
+
export declare function dataOciFunctionsFunctionsFilterToHclTerraform(struct?: DataOciFunctionsFunctionsFilter | cdktf.IResolvable): any;
|
|
200
|
+
export declare class DataOciFunctionsFunctionsFilterOutputReference extends cdktf.ComplexObject {
|
|
201
|
+
private isEmptyObject;
|
|
202
|
+
private resolvableValue?;
|
|
203
|
+
/**
|
|
204
|
+
* @param terraformResource The parent resource
|
|
205
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
206
|
+
* @param complexObjectIndex the index of this item in the list
|
|
207
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
208
|
+
*/
|
|
209
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
210
|
+
get internalValue(): DataOciFunctionsFunctionsFilter | cdktf.IResolvable | undefined;
|
|
211
|
+
set internalValue(value: DataOciFunctionsFunctionsFilter | cdktf.IResolvable | undefined);
|
|
212
|
+
private _name?;
|
|
213
|
+
get name(): string;
|
|
214
|
+
set name(value: string);
|
|
215
|
+
get nameInput(): string | undefined;
|
|
216
|
+
private _regex?;
|
|
217
|
+
get regex(): boolean | cdktf.IResolvable;
|
|
218
|
+
set regex(value: boolean | cdktf.IResolvable);
|
|
219
|
+
resetRegex(): void;
|
|
220
|
+
get regexInput(): boolean | cdktf.IResolvable | undefined;
|
|
221
|
+
private _values?;
|
|
222
|
+
get values(): string[];
|
|
223
|
+
set values(value: string[]);
|
|
224
|
+
get valuesInput(): string[] | undefined;
|
|
225
|
+
}
|
|
226
|
+
export declare class DataOciFunctionsFunctionsFilterList extends cdktf.ComplexList {
|
|
227
|
+
protected terraformResource: cdktf.IInterpolatingParent;
|
|
228
|
+
protected terraformAttribute: string;
|
|
229
|
+
protected wrapsSet: boolean;
|
|
230
|
+
internalValue?: DataOciFunctionsFunctionsFilter[] | cdktf.IResolvable;
|
|
231
|
+
/**
|
|
232
|
+
* @param terraformResource The parent resource
|
|
233
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
234
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
235
|
+
*/
|
|
236
|
+
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
237
|
+
/**
|
|
238
|
+
* @param index the index of the item to return
|
|
239
|
+
*/
|
|
240
|
+
get(index: number): DataOciFunctionsFunctionsFilterOutputReference;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Represents a {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions oci_functions_functions}
|
|
244
|
+
*/
|
|
245
|
+
export declare class DataOciFunctionsFunctions extends cdktf.TerraformDataSource {
|
|
246
|
+
static readonly tfResourceType = "oci_functions_functions";
|
|
247
|
+
/**
|
|
248
|
+
* Generates CDKTF code for importing a DataOciFunctionsFunctions resource upon running "cdktf plan <stack-name>"
|
|
249
|
+
* @param scope The scope in which to define this construct
|
|
250
|
+
* @param importToId The construct id used in the generated config for the DataOciFunctionsFunctions to import
|
|
251
|
+
* @param importFromId The id of the existing DataOciFunctionsFunctions that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions#import import section} in the documentation of this resource for the id to use
|
|
252
|
+
* @param provider? Optional instance of the provider where the DataOciFunctionsFunctions to import is found
|
|
253
|
+
*/
|
|
254
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
|
|
255
|
+
/**
|
|
256
|
+
* Create a new {@link https://registry.terraform.io/providers/hashicorp/oci/5.47.0/docs/data-sources/functions_functions oci_functions_functions} Data Source
|
|
257
|
+
*
|
|
258
|
+
* @param scope The scope in which to define this construct
|
|
259
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
260
|
+
* @param options DataOciFunctionsFunctionsConfig
|
|
261
|
+
*/
|
|
262
|
+
constructor(scope: Construct, id: string, config: DataOciFunctionsFunctionsConfig);
|
|
263
|
+
private _applicationId?;
|
|
264
|
+
get applicationId(): string;
|
|
265
|
+
set applicationId(value: string);
|
|
266
|
+
get applicationIdInput(): string | undefined;
|
|
267
|
+
private _displayName?;
|
|
268
|
+
get displayName(): string;
|
|
269
|
+
set displayName(value: string);
|
|
270
|
+
resetDisplayName(): void;
|
|
271
|
+
get displayNameInput(): string | undefined;
|
|
272
|
+
private _functions;
|
|
273
|
+
get functions(): DataOciFunctionsFunctionsFunctionsList;
|
|
274
|
+
private _id?;
|
|
275
|
+
get id(): string;
|
|
276
|
+
set id(value: string);
|
|
277
|
+
resetId(): void;
|
|
278
|
+
get idInput(): string | undefined;
|
|
279
|
+
private _state?;
|
|
280
|
+
get state(): string;
|
|
281
|
+
set state(value: string);
|
|
282
|
+
resetState(): void;
|
|
283
|
+
get stateInput(): string | undefined;
|
|
284
|
+
private _filter;
|
|
285
|
+
get filter(): DataOciFunctionsFunctionsFilterList;
|
|
286
|
+
putFilter(value: DataOciFunctionsFunctionsFilter[] | cdktf.IResolvable): void;
|
|
287
|
+
resetFilter(): void;
|
|
288
|
+
get filterInput(): cdktf.IResolvable | DataOciFunctionsFunctionsFilter[] | undefined;
|
|
289
|
+
protected synthesizeAttributes(): {
|
|
290
|
+
[name: string]: any;
|
|
291
|
+
};
|
|
292
|
+
protected synthesizeHclAttributes(): {
|
|
293
|
+
[name: string]: any;
|
|
294
|
+
};
|
|
295
|
+
}
|