MCPcopy Index your code
hub / github.com/microsoft/PyRIT / create_sql_server_and_db

Function create_sql_server_and_db

infra/deploy_instance.py:296–406  ·  view source on GitHub ↗

Create an Azure SQL server with Entra-only auth and a database. Args: resource_group (str): The resource group name. location (str): The Azure region. server_name (str): The SQL server name. database_name (str): The database name. tags (list[str] | N

(
    *,
    resource_group: str,
    location: str,
    server_name: str,
    database_name: str,
    tags: list[str] | None = None,
)

Source from the content-addressed store, hash-verified

294
295
296def create_sql_server_and_db(
297 *,
298 resource_group: str,
299 location: str,
300 server_name: str,
301 database_name: str,
302 tags: list[str] | None = None,
303) -> dict:
304 """
305 Create an Azure SQL server with Entra-only auth and a database.
306
307 Args:
308 resource_group (str): The resource group name.
309 location (str): The Azure region.
310 server_name (str): The SQL server name.
311 database_name (str): The database name.
312 tags (list[str] | None): Tags in 'Key=Value' format.
313
314 Returns:
315 dict: A dict with keys 'server_fqdn' and 'database_name'.
316 """
317 # Get current user for Entra admin
318 current_user = run_az_json(
319 args=[
320 "ad",
321 "signed-in-user",
322 "show",
323 "--query",
324 "{displayName:displayName, id:id}",
325 ]
326 )
327
328 logger.info("Creating SQL server: %s (Entra admin: %s)", server_name, current_user["displayName"])
329 sql_server_cmd = [
330 "sql",
331 "server",
332 "create",
333 "--name",
334 server_name,
335 "--resource-group",
336 resource_group,
337 "--location",
338 location,
339 "--enable-ad-only-auth",
340 "--external-admin-principal-type",
341 "User",
342 "--external-admin-name",
343 current_user["displayName"],
344 "--external-admin-sid",
345 current_user["id"],
346 ]
347 if tags:
348 sql_server_cmd += ["--tags"] + tags
349 run_az(args=sql_server_cmd)
350
351 server_fqdn = run_az_json(
352 args=[
353 "sql",

Callers 1

mainFunction · 0.85

Calls 2

run_az_jsonFunction · 0.70
run_azFunction · 0.70

Tested by

no test coverage detected