network_interface_ids=[nic.id], os_disk={ "caching": "None", "storage_account_type": "Standard_LRS" }, size=config["size"], source_image_reference=config["img"]) vm_ids.append(vm.id) # create azure sql server sqlserver = sql.SqlServer("sso-sql", resource_group_name=rg.name, administrator_login="******", administrator_login_password=sqlpwd, version="12.0") # create sql database sqldb = sql.Database("sso-db", resource_group_name=rg.name, server_name=sqlserver.name, edition="Standard", requested_service_objective_name="S1") # connection string (thanks Pulumi docs) connection_string = Output.all(sqlserver.name, sqldb.name, sql_user, sqlpwd) \ .apply(lambda args: f"Server=tcp:{args[0]}.database.windows.net;initial catalog={args[1]};user ID={args[2]};password={args[3]};Min Pool Size=0;Max Pool Size=30;Persist Security Info=true;") # Export the connection string for the storage account pulumi.export('vm_ids', vm_ids) pulumi.export('connstr', connection_string)
storage_account.primary_connection_string, storage_container.name, blob.name).apply(get_sas) app_insights = appinsights.Insights("appservice-ai", resource_group_name=resource_group.name, location=resource_group.location, application_type="web") sql_server = sql.SqlServer("appservice-sql", resource_group_name=resource_group.name, administrator_login=username, administrator_login_password=pwd, version="12.0") database = sql.Database("appservice-db", resource_group_name=resource_group.name, server_name=sql_server.name, requested_service_objective_name="S0") connection_string = Output.all(sql_server.name, database.name, username, pwd) \ .apply(lambda args: f"Server=tcp:{args[0]}.database.windows.net;initial catalog={args[1]};user ID={args[2]};password={args[3]};Min Pool Size=0;Max Pool Size=30;Persist Security Info=true;") app = appservice.AppService("appservice-as", resource_group_name=resource_group.name, app_service_plan_id=app_service_plan.id, app_settings={ "WEBSITE_RUN_FROM_PACKAGE": signed_blob_url, "ApplicationInsights:InstrumentationKey": app_insights.instrumentation_key, "APPINSIGHTS_INSTRUMENTATIONKEY": app_insights.instrumentation_key,
appname = pulumi.get_project() config = Config() username = config.require("sqlUsername") pwd = config.require("sqlPassword") resource_group = core.ResourceGroup(appname + '-' + env + '-rg') sql_server = sql.SqlServer(resource_name=appname + '-' + env + '-sql', resource_group_name=resource_group.name, administrator_login=username, administrator_login_password=pwd, version="12.0") database = sql.Database(appname + '-' + env + '-db', resource_group_name=resource_group.name, server_name=sql_server.name, requested_service_objective_name="S0") connection_string = Output.all(sql_server.name, database.name, username, pwd) \ .apply(lambda args: f"Server=tcp:{args[0]}.database.windows.net;initial catalog={args[1]};user ID={args[2]};password={args[3]};Min Pool Size=0;Max Pool Size=30;Persist Security Info=true;") app_service_plan = appservice.Plan(appname + '-' + env + '-asp', resource_group_name=resource_group.name, kind="App", sku={ "tier": "Basic", "size": "B1", }) app_insights = appinsights.Insights( name=appname + '-' + env + '-sql', # bypass auto naming