public_ip_addr = combined_output.apply( lambda lst: network.get_public_ip_address(public_ip_address_name=lst[1], resource_group_name=lst[2])) # Create connection object to server. conn = provisioners.ConnectionArgs( host=public_ip_addr.ip_address, username=admin_username, private_key=private_key, private_key_passphrase=private_key_passphrase, ) # Copy install script to server. cp_config = provisioners.CopyFile( 'config', conn=conn, src='install.sh', dest='install.sh', opts=pulumi.ResourceOptions(depends_on=[server]), ) # Execute install script on server. install = provisioners.RemoteExec( 'install', conn=conn, commands=['sudo chmod 755 install.sh && sudo ./install.sh'], opts=pulumi.ResourceOptions(depends_on=[cp_config]), ) export("Minecraft Server IP Address", public_ip_addr.ip_address)
vpc_security_group_ids=[secgrp.id], ) conn = provisioners.ConnectionArgs( host=server.public_ip, username='******', private_key=private_key, private_key_passphrase=private_key_passphrase, ) # Copy a config file to our server. cp_config = provisioners.CopyFile( 'config', conn=conn, src='myapp.conf', dest='myapp.conf', opts=pulumi.ResourceOptions(depends_on=[server]), ) # Execute a basic command on our server. cat_config = provisioners.RemoteExec( 'cat-config', conn=conn, commands=['cat myapp.conf'], opts=pulumi.ResourceOptions(depends_on=[cp_config]), ) # Export the server's IP/host and stdout from the command. pulumi.export('publicIp', server.public_ip) pulumi.export('publicHostName', server.public_dns) pulumi.export('catConfigStdout', cat_config.results[0]['stdout'])
dest='/tmp/secrets.env', opts=pulumi.ResourceOptions(depends_on=resource_dependencies)), 'cp_controller_installer': provisioners.CopyFile( name='copy-controller-installer', conn=conn, src='install_controller.sh', dest='/tmp/install_controller.sh', opts=pulumi.ResourceOptions(depends_on=resource_dependencies)) }, opts=pulumi.ResourceOptions(depends_on=resource_dependencies)) run_installer = provisioners.RemoteExec( name='run-controller-installer', conn=conn, commands=[ 'bash /tmp/install_controller.sh', 'rm /tmp/secrets.env 2>1 /dev/null || true' ], opts=pulumi.ResourceOptions(depends_on=[copy_resources])) combined_output = Output.all(public_ip.name, public_ip.ip_address) if db is not None: pulumi.export('config_db_name', db.name) pulumi.export('config_db_server_name', db.name) pulumi.export('config_db_username', db_admin_username) pulumi.export('nginx_controller_host', controller_fqdn) pulumi.export('nginx_controller_host_username', controller_host_username)