Skip to content

Commit 4443ce0

Browse files
Terraform Team Automationsagarp337
authored andcommitted
Added - Support for Pre Built Functions
1 parent 5bf33bb commit 4443ce0

24 files changed

+2333
-83
lines changed

examples/functions/main.tf

Lines changed: 45 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ resource "oci_core_subnet" "test_subnet" {
5555
resource "oci_functions_application" "test_application" {
5656
#Required
5757
compartment_id = var.compartment_ocid
58-
display_name = "example-application"
58+
display_name = "example-application-test"
5959
subnet_ids = [oci_core_subnet.test_subnet.id]
6060

6161
#Optional
@@ -83,15 +83,15 @@ data "oci_functions_applications" "test_applications" {
8383
compartment_id = var.compartment_ocid
8484

8585
#Optional
86-
display_name = "example-application"
86+
display_name = "example-application-test"
8787
id = oci_functions_application.test_application.id
8888
state = var.application_state
8989
}
9090

9191
resource "oci_functions_function" "test_function" {
9292
#Required
9393
application_id = oci_functions_application.test_application.id
94-
display_name = "example-function"
94+
display_name = "example-function-test"
9595
image = var.function_image
9696
memory_in_mbs = "128"
9797

@@ -109,84 +109,66 @@ resource "oci_functions_function" "test_function" {
109109
}
110110
}
111111

112-
data "oci_functions_functions" "test_functions" {
113-
#Required
114-
application_id = oci_functions_application.test_application.id
115-
112+
data "oci_functions_pbf_listings" "test_listings" {
116113
#Optional
117-
display_name = "example-function"
118-
id = oci_functions_function.test_function.id
119-
state = "ACTIVE"
114+
name = var.pbf_listing_name
120115
}
121116

122-
resource "time_sleep" "wait_function_provisioning" {
123-
depends_on = [oci_functions_function.test_function]
124-
125-
create_duration = "5s"
117+
data "oci_functions_pbf_listing" "test_listing" {
118+
#Required
119+
pbf_listing_id = var.pbf_listing_id
126120
}
127121

128-
resource "oci_functions_invoke_function" "test_invoke_function" {
129-
depends_on = [time_sleep.wait_function_provisioning]
130-
fn_intent = "httprequest"
131-
fn_invoke_type = "sync"
132-
function_id = oci_functions_function.test_function.id
133-
invoke_function_body = var.invoke_function_body
134-
}
122+
data "oci_functions_pbf_listing_versions" "test_versions" {
123+
#Required
124+
pbf_listing_id = var.pbf_listing_id
135125

136-
resource "oci_functions_invoke_function" "test_invoke_function_source_path" {
137-
depends_on = [time_sleep.wait_function_provisioning]
138-
fn_intent = "httprequest"
139-
fn_invoke_type = "sync"
140-
function_id = oci_functions_function.test_function.id
141-
input_body_source_path = var.invoke_function_body_source_path
126+
#Optional
127+
is_current_version = true
142128
}
143129

144-
resource "oci_functions_invoke_function" "test_invoke_function_detached" {
145-
depends_on = [time_sleep.wait_function_provisioning]
146-
fn_intent = "httprequest"
147-
fn_invoke_type = "detached"
148-
function_id = oci_functions_function.test_function.id
149-
invoke_function_body = var.invoke_function_body
130+
data "oci_functions_pbf_listing_version" "test_version" {
131+
#Required
132+
pbf_listing_version_id = var.pbf_listing_version_id
150133
}
151134

152-
resource "oci_functions_invoke_function" "test_invoke_function_encoded_body" {
153-
depends_on = [time_sleep.wait_function_provisioning]
154-
fn_intent = "cloudevent"
155-
fn_invoke_type = "sync"
156-
function_id = oci_functions_function.test_function.id
157-
invoke_function_body_base64_encoded = base64encode(var.invoke_function_body)
135+
data "oci_functions_pbf_listing_triggers" "test_triggers" {
136+
#Optional
137+
name = var.pbf_trigger_name
158138
}
159139

160-
resource "oci_functions_invoke_function" "test_invoke_function_encoded_body_detached" {
161-
depends_on = [time_sleep.wait_function_provisioning]
162-
fn_intent = "httprequest"
163-
fn_invoke_type = "detached"
164-
function_id = oci_functions_function.test_function.id
165-
invoke_function_body_base64_encoded = base64encode(var.invoke_function_body)
140+
resource "oci_functions_function" "test_pre_built_function" {
141+
application_id = oci_functions_application.test_application.id
142+
display_name = "example-pre-built-function"
143+
memory_in_mbs = "128"
144+
source_details {
145+
pbf_listing_id = var.pbf_listing_id
146+
source_type = "PRE_BUILT_FUNCTIONS"
147+
}
166148
}
167149

168-
resource "oci_functions_invoke_function" "test_invoke_function_encoded_content" {
169-
depends_on = [time_sleep.wait_function_provisioning]
170-
fn_intent = "httprequest"
171-
fn_invoke_type = "sync"
172-
function_id = oci_functions_function.test_function.id
173-
base64_encode_content = true
174-
}
150+
data "oci_functions_functions" "test_pre_built_functions" {
151+
#Required
152+
application_id = oci_functions_application.test_application.id
175153

176-
output "test_invoke_function_content" {
177-
value = oci_functions_invoke_function.test_invoke_function.content
154+
#Optional
155+
display_name = "example-pre-built-function"
156+
id = oci_functions_function.test_pre_built_function.id
157+
state = "ACTIVE"
178158
}
179159

180-
output "test_invoke_function_source_path_content" {
181-
value = oci_functions_invoke_function.test_invoke_function_source_path.content
182-
}
160+
data "oci_functions_functions" "test_functions" {
161+
#Required
162+
application_id = oci_functions_application.test_application.id
183163

184-
output "test_invoke_function_encoded_body" {
185-
value = oci_functions_invoke_function.test_invoke_function_encoded_body.content
164+
#Optional
165+
display_name = "example-function-test"
166+
id = oci_functions_function.test_function.id
167+
state = "ACTIVE"
186168
}
187169

188-
output "test_invoke_function_encoded_content" {
189-
value = base64decode(
190-
oci_functions_invoke_function.test_invoke_function_encoded_content.content,
191-
)
170+
resource "time_sleep" "wait_function_provisioning" {
171+
depends_on = [oci_functions_function.test_function]
172+
173+
create_duration = "5s"
192174
}

examples/functions/variables.tf

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ variable "compartment_ocid" {
2020
}
2121

2222
variable "config" {
23+
type = map(string)
2324
default = {
24-
"MY_FUNCTION_CONFIG" = "ConfVal"
25+
"MEDIA_WORKFLOW_ID" = "someworkflowid"
2526
}
2627
}
2728

@@ -85,11 +86,17 @@ variable "function_timeout_in_seconds" {
8586
default = 30
8687
}
8788

88-
variable "invoke_function_body" {
89+
variable "kms_key_ocid" {
8990
}
9091

91-
variable "invoke_function_body_source_path" {
92+
variable "pbf_listing_name" {
9293
}
9394

94-
variable "kms_key_ocid" {
95+
variable "pbf_listing_id" {
9596
}
97+
98+
variable "pbf_listing_version_id" {
99+
}
100+
101+
variable "pbf_trigger_name" {
102+
}

0 commit comments

Comments
 (0)