Job Step
Manages an Elastic Job Step.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example",
location: "westeurope",
});
const exampleServer = new azure.mssql.Server("example", {
name: "example-server",
location: example.location,
resourceGroupName: example.name,
version: "12.0",
administratorLogin: "4dm1n157r470r",
administratorLoginPassword: "4-v3ry-53cr37-p455w0rd",
});
const exampleDatabase = new azure.mssql.Database("example", {
name: "example-db",
serverId: exampleServer.id,
collation: "SQL_Latin1_General_CP1_CI_AS",
skuName: "S1",
});
const exampleJobAgent = new azure.mssql.JobAgent("example", {
name: "example-job-agent",
location: example.location,
databaseId: exampleDatabase.id,
});
const exampleJobCredential = new azure.mssql.JobCredential("example", {
name: "example-job-credential",
jobAgentId: exampleJobAgent.id,
username: "testusername",
password: "testpassword",
});
const exampleJobTargetGroup = new azure.mssql.JobTargetGroup("example", {
name: "example-target-group",
jobAgentId: exampleJobAgent.id,
jobTargets: [{
serverName: exampleServer.name,
databaseName: exampleDatabase.name,
jobCredentialId: exampleJobCredential.id,
}],
});
const exampleJob = new azure.mssql.Job("example", {
name: "example-job",
jobAgentId: exampleJobAgent.id,
description: "example description",
});
const test = new azure.mssql.JobStep("test", {
name: "example-job-step",
jobId: exampleJob.id,
jobCredentialId: exampleJobCredential.id,
jobTargetGroupId: exampleJobTargetGroup.id,
jobStepIndex: 1,
sqlScript: `IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
`,
});
Content copied to clipboard
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example",
location="westeurope")
example_server = azure.mssql.Server("example",
name="example-server",
location=example.location,
resource_group_name=example.name,
version="12.0",
administrator_login="4dm1n157r470r",
administrator_login_password="4-v3ry-53cr37-p455w0rd")
example_database = azure.mssql.Database("example",
name="example-db",
server_id=example_server.id,
collation="SQL_Latin1_General_CP1_CI_AS",
sku_name="S1")
example_job_agent = azure.mssql.JobAgent("example",
name="example-job-agent",
location=example.location,
database_id=example_database.id)
example_job_credential = azure.mssql.JobCredential("example",
name="example-job-credential",
job_agent_id=example_job_agent.id,
username="testusername",
password="testpassword")
example_job_target_group = azure.mssql.JobTargetGroup("example",
name="example-target-group",
job_agent_id=example_job_agent.id,
job_targets=[{
"server_name": example_server.name,
"database_name": example_database.name,
"job_credential_id": example_job_credential.id,
}])
example_job = azure.mssql.Job("example",
name="example-job",
job_agent_id=example_job_agent.id,
description="example description")
test = azure.mssql.JobStep("test",
name="example-job-step",
job_id=example_job.id,
job_credential_id=example_job_credential.id,
job_target_group_id=example_job_target_group.id,
job_step_index=1,
sql_script="""IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
""")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example",
Location = "westeurope",
});
var exampleServer = new Azure.MSSql.Server("example", new()
{
Name = "example-server",
Location = example.Location,
ResourceGroupName = example.Name,
Version = "12.0",
AdministratorLogin = "4dm1n157r470r",
AdministratorLoginPassword = "4-v3ry-53cr37-p455w0rd",
});
var exampleDatabase = new Azure.MSSql.Database("example", new()
{
Name = "example-db",
ServerId = exampleServer.Id,
Collation = "SQL_Latin1_General_CP1_CI_AS",
SkuName = "S1",
});
var exampleJobAgent = new Azure.MSSql.JobAgent("example", new()
{
Name = "example-job-agent",
Location = example.Location,
DatabaseId = exampleDatabase.Id,
});
var exampleJobCredential = new Azure.MSSql.JobCredential("example", new()
{
Name = "example-job-credential",
JobAgentId = exampleJobAgent.Id,
Username = "testusername",
Password = "testpassword",
});
var exampleJobTargetGroup = new Azure.MSSql.JobTargetGroup("example", new()
{
Name = "example-target-group",
JobAgentId = exampleJobAgent.Id,
JobTargets = new[]
{
new Azure.MSSql.Inputs.JobTargetGroupJobTargetArgs
{
ServerName = exampleServer.Name,
DatabaseName = exampleDatabase.Name,
JobCredentialId = exampleJobCredential.Id,
},
},
});
var exampleJob = new Azure.MSSql.Job("example", new()
{
Name = "example-job",
JobAgentId = exampleJobAgent.Id,
Description = "example description",
});
var test = new Azure.MSSql.JobStep("test", new()
{
Name = "example-job-step",
JobId = exampleJob.Id,
JobCredentialId = exampleJobCredential.Id,
JobTargetGroupId = exampleJobTargetGroup.Id,
JobStepIndex = 1,
SqlScript = @"IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/mssql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example"),
Location: pulumi.String("westeurope"),
})
if err != nil {
return err
}
exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{
Name: pulumi.String("example-server"),
Location: example.Location,
ResourceGroupName: example.Name,
Version: pulumi.String("12.0"),
AdministratorLogin: pulumi.String("4dm1n157r470r"),
AdministratorLoginPassword: pulumi.String("4-v3ry-53cr37-p455w0rd"),
})
if err != nil {
return err
}
exampleDatabase, err := mssql.NewDatabase(ctx, "example", &mssql.DatabaseArgs{
Name: pulumi.String("example-db"),
ServerId: exampleServer.ID(),
Collation: pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
SkuName: pulumi.String("S1"),
})
if err != nil {
return err
}
exampleJobAgent, err := mssql.NewJobAgent(ctx, "example", &mssql.JobAgentArgs{
Name: pulumi.String("example-job-agent"),
Location: example.Location,
DatabaseId: exampleDatabase.ID(),
})
if err != nil {
return err
}
exampleJobCredential, err := mssql.NewJobCredential(ctx, "example", &mssql.JobCredentialArgs{
Name: pulumi.String("example-job-credential"),
JobAgentId: exampleJobAgent.ID(),
Username: pulumi.String("testusername"),
Password: pulumi.String("testpassword"),
})
if err != nil {
return err
}
exampleJobTargetGroup, err := mssql.NewJobTargetGroup(ctx, "example", &mssql.JobTargetGroupArgs{
Name: pulumi.String("example-target-group"),
JobAgentId: exampleJobAgent.ID(),
JobTargets: mssql.JobTargetGroupJobTargetArray{
&mssql.JobTargetGroupJobTargetArgs{
ServerName: exampleServer.Name,
DatabaseName: exampleDatabase.Name,
JobCredentialId: exampleJobCredential.ID(),
},
},
})
if err != nil {
return err
}
exampleJob, err := mssql.NewJob(ctx, "example", &mssql.JobArgs{
Name: pulumi.String("example-job"),
JobAgentId: exampleJobAgent.ID(),
Description: pulumi.String("example description"),
})
if err != nil {
return err
}
_, err = mssql.NewJobStep(ctx, "test", &mssql.JobStepArgs{
Name: pulumi.String("example-job-step"),
JobId: exampleJob.ID(),
JobCredentialId: exampleJobCredential.ID(),
JobTargetGroupId: exampleJobTargetGroup.ID(),
JobStepIndex: pulumi.Int(1),
SqlScript: pulumi.String(`IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
`),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.mssql.Server;
import com.pulumi.azure.mssql.ServerArgs;
import com.pulumi.azure.mssql.Database;
import com.pulumi.azure.mssql.DatabaseArgs;
import com.pulumi.azure.mssql.JobAgent;
import com.pulumi.azure.mssql.JobAgentArgs;
import com.pulumi.azure.mssql.JobCredential;
import com.pulumi.azure.mssql.JobCredentialArgs;
import com.pulumi.azure.mssql.JobTargetGroup;
import com.pulumi.azure.mssql.JobTargetGroupArgs;
import com.pulumi.azure.mssql.inputs.JobTargetGroupJobTargetArgs;
import com.pulumi.azure.mssql.Job;
import com.pulumi.azure.mssql.JobArgs;
import com.pulumi.azure.mssql.JobStep;
import com.pulumi.azure.mssql.JobStepArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example")
.location("westeurope")
.build());
var exampleServer = new Server("exampleServer", ServerArgs.builder()
.name("example-server")
.location(example.location())
.resourceGroupName(example.name())
.version("12.0")
.administratorLogin("4dm1n157r470r")
.administratorLoginPassword("4-v3ry-53cr37-p455w0rd")
.build());
var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder()
.name("example-db")
.serverId(exampleServer.id())
.collation("SQL_Latin1_General_CP1_CI_AS")
.skuName("S1")
.build());
var exampleJobAgent = new JobAgent("exampleJobAgent", JobAgentArgs.builder()
.name("example-job-agent")
.location(example.location())
.databaseId(exampleDatabase.id())
.build());
var exampleJobCredential = new JobCredential("exampleJobCredential", JobCredentialArgs.builder()
.name("example-job-credential")
.jobAgentId(exampleJobAgent.id())
.username("testusername")
.password("testpassword")
.build());
var exampleJobTargetGroup = new JobTargetGroup("exampleJobTargetGroup", JobTargetGroupArgs.builder()
.name("example-target-group")
.jobAgentId(exampleJobAgent.id())
.jobTargets(JobTargetGroupJobTargetArgs.builder()
.serverName(exampleServer.name())
.databaseName(exampleDatabase.name())
.jobCredentialId(exampleJobCredential.id())
.build())
.build());
var exampleJob = new Job("exampleJob", JobArgs.builder()
.name("example-job")
.jobAgentId(exampleJobAgent.id())
.description("example description")
.build());
var test = new JobStep("test", JobStepArgs.builder()
.name("example-job-step")
.jobId(exampleJob.id())
.jobCredentialId(exampleJobCredential.id())
.jobTargetGroupId(exampleJobTargetGroup.id())
.jobStepIndex(1)
.sqlScript("""
IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
""")
.build());
}
}
Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example
location: westeurope
exampleServer:
type: azure:mssql:Server
name: example
properties:
name: example-server
location: ${example.location}
resourceGroupName: ${example.name}
version: '12.0'
administratorLogin: 4dm1n157r470r
administratorLoginPassword: 4-v3ry-53cr37-p455w0rd
exampleDatabase:
type: azure:mssql:Database
name: example
properties:
name: example-db
serverId: ${exampleServer.id}
collation: SQL_Latin1_General_CP1_CI_AS
skuName: S1
exampleJobAgent:
type: azure:mssql:JobAgent
name: example
properties:
name: example-job-agent
location: ${example.location}
databaseId: ${exampleDatabase.id}
exampleJobCredential:
type: azure:mssql:JobCredential
name: example
properties:
name: example-job-credential
jobAgentId: ${exampleJobAgent.id}
username: testusername
password: testpassword
exampleJobTargetGroup:
type: azure:mssql:JobTargetGroup
name: example
properties:
name: example-target-group
jobAgentId: ${exampleJobAgent.id}
jobTargets:
- serverName: ${exampleServer.name}
databaseName: ${exampleDatabase.name}
jobCredentialId: ${exampleJobCredential.id}
exampleJob:
type: azure:mssql:Job
name: example
properties:
name: example-job
jobAgentId: ${exampleJobAgent.id}
description: example description
test:
type: azure:mssql:JobStep
properties:
name: example-job-step
jobId: ${exampleJob.id}
jobCredentialId: ${exampleJobCredential.id}
jobTargetGroupId: ${exampleJobTargetGroup.id}
jobStepIndex: 1
sqlScript: |
IF NOT EXISTS (SELECT * FROM sys.objects WHERE [name] = N'Pets')
CREATE TABLE Pets (
Animal NVARCHAR(50),
Name NVARCHAR(50),
);
Content copied to clipboard
API Providers
This resource uses the following Azure API Providers:
Microsoft.Sql
: 2023-08-01-preview
Import
Elastic Job Steps can be imported using the resource id
, e.g.
$ pulumi import azure:mssql/jobStep:JobStep example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Sql/servers/myserver1/jobAgents/myjobagent1/jobs/myjob1/steps/myjobstep1
Content copied to clipboard
Properties
Link copied to clipboard
The initial retry interval in seconds. Defaults to 1
.
Link copied to clipboard
The ID of the Elastic Job Credential to use when executing this Elastic Job Step.
Link copied to clipboard
The index at which to insert this Elastic Job Step into the Elastic Job.
Link copied to clipboard
The ID of the Elastic Job Target Group.
Link copied to clipboard
The maximum retry interval in seconds. Defaults to 120
.
Link copied to clipboard
An output_target
block as defined below.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The number of retry attempts. Defaults to 10
.
Link copied to clipboard
The multiplier for time between retries. Defaults to 2
.
Link copied to clipboard
The execution timeout in seconds for this Elastic Job Step. Defaults to 43200
.