Exemple #1
0
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'])
Exemple #3
0
            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)