Show / Hide Table of Contents

Class Deployment

Deployment is the entry-point to a Pulumi application. .NET applications should perform all startup logic they need in their Main method and then end with:

static Task<int> Main(string[] args) { // program initialization code ...

return Deployment.Run(async () =>
{
    // Code that creates resources.
});

}

Importantly: Cloud resources cannot be created outside of the lambda passed to any of the RunAsync(Action) overloads. Because cloud Resource construction is inherently asynchronous, the result of this function is a Task<TResult> which should then be returned or awaited. This will ensure that any problems that are encountered during the running of the program are properly reported. Failure to do this may lead to the program ending early before all resources are properly registered.
Inheritance
object
Deployment
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Pulumi
Assembly: Pulumi.dll
Syntax
public sealed class Deployment

Properties

View Source

Instance

The current running deployment instance. This is only available from inside the function passed to RunAsync(Action) (or its overloads).

Declaration
public static DeploymentInstance Instance { get; }
Property Value
Type Description
DeploymentInstance

Methods

View Source

RunAsync(Action)

RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?) for more details.

Declaration
public static Task<int> RunAsync(Action action)
Parameters
Type Name Description
Action action

Callback that creates stack resources.

Returns
Type Description
Task<int>
View Source

RunAsync(Func<IDictionary<string, object?>>)

RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?) for more details.

Declaration
public static Task<int> RunAsync(Func<IDictionary<string, object?>> func)
Parameters
Type Name Description
Func<IDictionary<string, object>> func

Callback that creates stack resources.

Returns
Type Description
Task<int>

A dictionary of stack outputs.

View Source

RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?)

RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?) is an entry-point to a Pulumi application. .NET applications should perform all startup logic they need in their Main method and then end with:

static Task<int> Main(string[] args) { // program initialization code ...

return Deployment.Run(async () =>
{
    // Code that creates resources.
});

}

Importantly: Cloud resources cannot be created outside of the lambda passed to any of the RunAsync(Action) overloads. Because cloud Resource construction is inherently asynchronous, the result of this function is a Task<TResult> which should then be returned or awaited. This will ensure that any problems that are encountered during the running of the program are properly reported. Failure to do this may lead to the program ending early before all resources are properly registered.

The function passed to RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?) can optionally return an IDictionary<TKey, TValue>. The keys and values in this dictionary will become the outputs for the Pulumi Stack that is created.
Declaration
public static Task<int> RunAsync(Func<Task<IDictionary<string, object?>>> func, StackOptions? options = null)
Parameters
Type Name Description
Func<Task<IDictionary<string, object>>> func

Callback that creates stack resources.

StackOptions options

Stack options.

Returns
Type Description
Task<int>
View Source

RunAsync(Func<Task>)

RunAsync(Func<Task<IDictionary<string, object?>>>, StackOptions?) for more details.

Declaration
public static Task<int> RunAsync(Func<Task> func)
Parameters
Type Name Description
Func<Task> func

Callback that creates stack resources.

Returns
Type Description
Task<int>
View Source

RunAsync<TStack>()

RunAsync<TStack>() is an entry-point to a Pulumi application. .NET applications should perform all startup logic they need in their Main method and then end with:

static Task<int> Main(string[] args) {// program initialization code ...

return Deployment.Run&lt;MyStack>();}</code>

Deployment will instantiate a new stack instance based on the type passed as TStack type parameter. Importantly, cloud resources cannot be created outside of the Pulumi.Deployment.Stack component.

Because cloud Resource construction is inherently asynchronous, the result of this function is a Task<TResult> which should then be returned or awaited. This will ensure that any problems that are encountered during the running of the program are properly reported. Failure to do this may lead to the program ending early before all resources are properly registered.

Declaration
public static Task<int> RunAsync<TStack>() where TStack : Stack, new()
Returns
Type Description
Task<int>
Type Parameters
Name Description
TStack
View Source

RunAsync<TStack>(IServiceProvider)

RunAsync<TStack>() is an entry-point to a Pulumi application. .NET applications should perform all startup logic they need in their Main method and then end with:

static Task<int> Main(string[] args) {// program initialization code ...

return Deployment.Run&lt;MyStack>(serviceProvider);}</code>

Deployment will instantiate a new stack instance based on the type passed as TStack type parameter using the serviceProvider. Importantly, cloud resources cannot be created outside of the Pulumi.Deployment.Stack component.

Because cloud Resource construction is inherently asynchronous, the result of this function is a Task<TResult> which should then be returned or awaited. This will ensure that any problems that are encountered during the running of the program are properly reported. Failure to do this may lead to the program ending early before all resources are properly registered.

Declaration
public static Task<int> RunAsync<TStack>(IServiceProvider serviceProvider) where TStack : Stack
Parameters
Type Name Description
IServiceProvider serviceProvider
Returns
Type Description
Task<int>
Type Parameters
Name Description
TStack
View Source

TestAsync(IMocks, TestOptions, Action)

Entry point to test a Pulumi application. Deployment will run the provided function that creates resources but doesn't actually deploy them Note: Currently, unit tests that call this function must run serially; parallel execution is not supported.

Declaration
public static Task<ImmutableArray<Resource>> TestAsync(IMocks testMocks, TestOptions testOptions, Action createResources)
Parameters
Type Name Description
IMocks testMocks

Hooks to mock the engine calls.

TestOptions testOptions

Optional settings for the test run.

Action createResources

The function which creates resources and returns outputs.

Returns
Type Description
Task<ImmutableArray<Resource>>

Test result containing created resources and outputs, if any.

View Source

TestAsync(IMocks, TestOptions, Func<IDictionary<string, object?>>)

Entry point to test a Pulumi application. Deployment will run the provided function that creates resources but doesn't actually deploy them Note: Currently, unit tests that call this function must run serially; parallel execution is not supported.

Declaration
public static Task<(ImmutableArray<Resource> Resources, IDictionary<string, object?> Outputs)> TestAsync(IMocks testMocks, TestOptions testOptions, Func<IDictionary<string, object?>> createResources)
Parameters
Type Name Description
IMocks testMocks

Hooks to mock the engine calls.

TestOptions testOptions

Optional settings for the test run.

Func<IDictionary<string, object>> createResources

The function which creates resources and returns outputs.

Returns
Type Description
Task<(ImmutableArray<Resource> Resources, IDictionary<string, object> Outputs)>

Test result containing created resources and outputs, if any.

View Source

TestAsync(IMocks, TestOptions, Func<Task<IDictionary<string, object?>>>)

Entry point to test a Pulumi application. Deployment will run the provided function that creates resources but doesn't actually deploy them Note: Currently, unit tests that call this function must run serially; parallel execution is not supported.

Declaration
public static Task<(ImmutableArray<Resource> Resources, IDictionary<string, object?> Outputs)> TestAsync(IMocks testMocks, TestOptions testOptions, Func<Task<IDictionary<string, object?>>> createResources)
Parameters
Type Name Description
IMocks testMocks

Hooks to mock the engine calls.

TestOptions testOptions

Optional settings for the test run.

Func<Task<IDictionary<string, object>>> createResources

The function which creates resources and returns outputs.

Returns
Type Description
Task<(ImmutableArray<Resource> Resources, IDictionary<string, object> Outputs)>

Test result containing created resources and outputs, if any.

View Source

TestAsync(IMocks, TestOptions, Func<Task>)

Entry point to test a Pulumi application. Deployment will run the provided function that creates resources but doesn't actually deploy them Note: Currently, unit tests that call this function must run serially; parallel execution is not supported.

Declaration
public static Task<ImmutableArray<Resource>> TestAsync(IMocks testMocks, TestOptions testOptions, Func<Task> createResources)
Parameters
Type Name Description
IMocks testMocks

Hooks to mock the engine calls.

TestOptions testOptions

Optional settings for the test run.

Func<Task> createResources

The function which creates resources and returns outputs.

Returns
Type Description
Task<ImmutableArray<Resource>>

Test result containing created resources and outputs, if any.

View Source

TestAsync<TStack>(IMocks, TestOptions?)

Entry point to test a Pulumi application. Deployment will instantiate a new stack instance based on the type passed as TStack type parameter. This method creates no real resources. Note: Currently, unit tests that call TestAsync<TStack>(IMocks, TestOptions?) must run serially; parallel execution is not supported.

Declaration
public static Task<ImmutableArray<Resource>> TestAsync<TStack>(IMocks mocks, TestOptions? options = null) where TStack : Stack, new()
Parameters
Type Name Description
IMocks mocks

Hooks to mock the engine calls.

TestOptions options

Optional settings for the test run.

Returns
Type Description
Task<ImmutableArray<Resource>>

Test result containing created resources and errors, if any.

Type Parameters
Name Description
TStack

The type of the stack to test.

View Source

TestWithServiceProviderAsync<TStack>(IMocks, IServiceProvider, TestOptions?)

Entry point to test a Pulumi application. Deployment will instantiate a new stack instance based on the type passed as TStack type parameter using the given service provider. This method creates no real resources. Note: Currently, unit tests that call TestWithServiceProviderAsync<TStack>(IMocks, IServiceProvider, TestOptions?) must run serially; parallel execution is not supported.

Declaration
public static Task<ImmutableArray<Resource>> TestWithServiceProviderAsync<TStack>(IMocks mocks, IServiceProvider serviceProvider, TestOptions? options = null) where TStack : Stack
Parameters
Type Name Description
IMocks mocks

Hooks to mock the engine calls.

IServiceProvider serviceProvider
TestOptions options

Optional settings for the test run.

Returns
Type Description
Task<ImmutableArray<Resource>>

Test result containing created resources and errors, if any.

Type Parameters
Name Description
TStack

The type of the stack to test.

  • View Source
Back to top Copyright 2016-2023, Pulumi Corporation.