@@ -9,10 +9,6 @@ provider "oci" {
99 region = var. region
1010}
1111
12- data "oci_identity_availability_domains" "test_availability_domains" {
13- compartment_id = var. tenancy_ocid
14- }
15-
1612resource "oci_core_vcn" "test_vcn" {
1713 cidr_block = " 10.0.0.0/16"
1814 compartment_id = var. compartment_ocid
@@ -37,10 +33,12 @@ resource "oci_core_route_table" "test_route_table" {
3733 vcn_id = oci_core_vcn. test_vcn . id
3834}
3935
36+ resource "oci_core_network_security_group" "test_network_security_group" {
37+ compartment_id = var. compartment_ocid
38+ vcn_id = oci_core_vcn. test_vcn . id
39+ }
40+
4041resource "oci_core_subnet" "test_subnet" {
41- availability_domain = lower (
42- data. oci_identity_availability_domains . test_availability_domains . availability_domains [0 ]. name ,
43- )
4442 cidr_block = " 10.0.0.0/16"
4543 compartment_id = var. compartment_ocid
4644 dhcp_options_id = oci_core_vcn. test_vcn . default_dhcp_options_id
@@ -61,8 +59,19 @@ resource "oci_functions_application" "test_application" {
6159 subnet_ids = [oci_core_subnet . test_subnet . id ]
6260
6361 # Optional
64- config = var. config
65- syslog_url = var. syslog_url
62+ config = var. config
63+ syslog_url = var. syslog_url
64+ network_security_group_ids = [oci_core_network_security_group . test_network_security_group . id ]
65+ image_policy_config {
66+ # Required
67+ is_policy_enabled = var. application_image_policy_config_is_policy_enabled
68+
69+ # Optional
70+ key_details {
71+ # Required
72+ kms_key_id = var. kms_key_ocid
73+ }
74+ }
6675 trace_config {
6776 domain_id = var. application_trace_config . domain_id
6877 is_enabled = var. application_trace_config . is_enabled
@@ -102,45 +111,57 @@ data "oci_functions_functions" "test_functions" {
102111 # Optional
103112 display_name = " example-function"
104113 id = oci_functions_function. test_function . id
105- state = " AVAILABLE"
114+ state = " ACTIVE"
115+ }
116+
117+ resource "time_sleep" "wait_function_provisioning" {
118+ depends_on = [oci_functions_function . test_function ]
119+
120+ create_duration = " 5s"
106121}
107122
108123resource "oci_functions_invoke_function" "test_invoke_function" {
124+ depends_on = [time_sleep . wait_function_provisioning ]
109125 fn_intent = " httprequest"
110126 fn_invoke_type = " sync"
111127 function_id = oci_functions_function. test_function . id
112128 invoke_function_body = var. invoke_function_body
113129}
114130
115131resource "oci_functions_invoke_function" "test_invoke_function_source_path" {
132+ depends_on = [time_sleep . wait_function_provisioning ]
116133 fn_intent = " httprequest"
117134 fn_invoke_type = " sync"
118135 function_id = oci_functions_function. test_function . id
119136 input_body_source_path = var. invoke_function_body_source_path
120137}
121138
122139resource "oci_functions_invoke_function" "test_invoke_function_detached" {
140+ depends_on = [time_sleep . wait_function_provisioning ]
123141 fn_intent = " httprequest"
124142 fn_invoke_type = " detached"
125143 function_id = oci_functions_function. test_function . id
126144 invoke_function_body = var. invoke_function_body
127145}
128146
129147resource "oci_functions_invoke_function" "test_invoke_function_encoded_body" {
148+ depends_on = [time_sleep . wait_function_provisioning ]
130149 fn_intent = " cloudevent"
131150 fn_invoke_type = " sync"
132151 function_id = oci_functions_function. test_function . id
133152 invoke_function_body_base64_encoded = base64encode (var. invoke_function_body )
134153}
135154
136155resource "oci_functions_invoke_function" "test_invoke_function_encoded_body_detached" {
156+ depends_on = [time_sleep . wait_function_provisioning ]
137157 fn_intent = " httprequest"
138158 fn_invoke_type = " detached"
139159 function_id = oci_functions_function. test_function . id
140160 invoke_function_body_base64_encoded = base64encode (var. invoke_function_body )
141161}
142162
143163resource "oci_functions_invoke_function" "test_invoke_function_encoded_content" {
164+ depends_on = [time_sleep . wait_function_provisioning ]
144165 fn_intent = " httprequest"
145166 fn_invoke_type = " sync"
146167 function_id = oci_functions_function. test_function . id
@@ -164,4 +185,3 @@ output "test_invoke_function_encoded_content" {
164185 oci_functions_invoke_function. test_invoke_function_encoded_content . content ,
165186 )
166187}
167-
0 commit comments