@@ -401,12 +401,31 @@ resource "oci_bastion_bastion" "bastion-service" {
401
401
bastion_type = " STANDARD"
402
402
compartment_id = var. compartment_ocid
403
403
target_subnet_id = var. drupal_subnet_id
404
- # target_subnet_id = var.bastion_subnet_id
405
404
client_cidr_block_allow_list = [" 0.0.0.0/0" ]
406
405
name = " BastionService4drupal"
407
406
max_session_ttl_in_seconds = 10800
408
407
}
409
408
409
+ data "oci_computeinstanceagent_instance_agent_plugins" "drupal_agent_plugin_bastion" {
410
+ count = var. numberOfNodes > 1 && var. use_bastion_service ? 1 : 0
411
+ compartment_id = var. compartment_ocid
412
+ instanceagent_id = oci_core_instance. drupal . id
413
+ name = " Bastion"
414
+ status = " RUNNING"
415
+ }
416
+
417
+ resource "time_sleep" "drupal_agent_checker" {
418
+ depends_on = [oci_core_instance . drupal ]
419
+ count = var. numberOfNodes > 1 && var. use_bastion_service ? 1 : 0
420
+ create_duration = " 60s"
421
+
422
+ triggers = {
423
+ changed_time_stamp = length (data. oci_computeinstanceagent_instance_agent_plugins . drupal_agent_plugin_bastion ) != 0 ? 0 : timestamp ()
424
+ instance_ocid = oci_core_instance.drupal.id
425
+ private_ip = oci_core_instance.drupal.private_ip
426
+ }
427
+ }
428
+
410
429
resource "oci_bastion_session" "ssh_via_bastion_service" {
411
430
depends_on = [oci_core_instance . drupal ]
412
431
count = var. numberOfNodes > 1 && var. use_bastion_service ? 1 : 0
@@ -418,10 +437,10 @@ resource "oci_bastion_session" "ssh_via_bastion_service" {
418
437
419
438
target_resource_details {
420
439
session_type = " MANAGED_SSH"
421
- target_resource_id = oci_core_instance . drupal . id
440
+ target_resource_id = time_sleep . drupal_agent_checker [ count . index ] . triggers [ " instance_ocid " ]
422
441
target_resource_operating_system_user_name = " opc"
423
442
target_resource_port = 22
424
- target_resource_private_ip_address = oci_core_instance . drupal . private_ip
443
+ target_resource_private_ip_address = time_sleep . drupal_agent_checker [ count . index ] . triggers [ " private_ip" ]
425
444
}
426
445
427
446
display_name = " ssh_via_bastion_service_to_drupal1"
@@ -896,6 +915,26 @@ resource "oci_core_instance" "drupal_from_image" {
896
915
}
897
916
}
898
917
918
+ data "oci_computeinstanceagent_instance_agent_plugins" "drupal2plus_agent_plugin_bastion" {
919
+ count = var. numberOfNodes > 1 && var. use_bastion_service ? var. numberOfNodes - 1 : 0
920
+ compartment_id = var. compartment_ocid
921
+ instanceagent_id = oci_core_instance. drupal_from_image [count . index ]. id
922
+ name = " Bastion"
923
+ status = " RUNNING"
924
+ }
925
+
926
+ resource "time_sleep" "drupal2plus_agent_checker" {
927
+ depends_on = [oci_core_instance . drupal_from_image ]
928
+ count = var. numberOfNodes > 1 && var. use_bastion_service ? var. numberOfNodes - 1 : 0
929
+ create_duration = " 60s"
930
+
931
+ triggers = {
932
+ changed_time_stamp = length (data. oci_computeinstanceagent_instance_agent_plugins . drupal2plus_agent_plugin_bastion ) != 0 ? 0 : timestamp ()
933
+ instance_ocid = oci_core_instance.drupal_from_image[count.index].id
934
+ private_ip = oci_core_instance.drupal_from_image[count.index].private_ip
935
+ }
936
+ }
937
+
899
938
resource "oci_bastion_session" "ssh_via_bastion_service2plus" {
900
939
depends_on = [oci_core_instance . drupal ]
901
940
count = var. numberOfNodes > 1 && var. use_bastion_service ? var. numberOfNodes - 1 : 0
@@ -907,10 +946,10 @@ resource "oci_bastion_session" "ssh_via_bastion_service2plus" {
907
946
908
947
target_resource_details {
909
948
session_type = " MANAGED_SSH"
910
- target_resource_id = oci_core_instance . drupal_from_image [count . index ]. id
949
+ target_resource_id = time_sleep . drupal2plus_agent_checker [count . index ]. triggers [ " instance_ocid " ]
911
950
target_resource_operating_system_user_name = " opc"
912
951
target_resource_port = 22
913
- target_resource_private_ip_address = oci_core_instance . drupal_from_image [count . index ]. private_ip
952
+ target_resource_private_ip_address = time_sleep . drupal2plus_agent_checker [count . index ]. triggers [ " private_ip" ]
914
953
}
915
954
916
955
display_name = " ssh_via_bastion_service_to_drupal${ count . index + 2 } "
0 commit comments