1 type derived from AzureBicepResource
Aspire.Hosting.Azure (1)
AzureProvisioningResource.cs (1)
19: AzureBicepResource(name, templateFile: $"{name}.module.bicep")
7 instantiations of AzureBicepResource
Aspire.Hosting.Azure (2)
AzureBicepResourceExtensions.cs (2)
29var resource = new AzureBicepResource(name, templateFile: path, templateString: null); 45var resource = new AzureBicepResource(name, templateFile: null, templateString: bicepContent);
Aspire.Hosting.Azure.Tests (5)
AzureBicepProvisionerTests.cs (1)
118var resource = new AzureBicepResource("storage-roles", templateString: "output id string = 'ok'");
AzureBicepResourceTests.cs (3)
265var resource = new AzureBicepResource("test-resource", templateFile: bicepFilePath); 290var resource = new AzureBicepResource("test-resource", templateFile: bicepFilePath); 307var resource = new AzureBicepResource("test-resource", templateString: bicepContent);
AzureEnvironmentResourceTests.cs (1)
287var customResource = new AzureBicepResource("custom-resource", bicepFileName);
149 references to AzureBicepResource
Aspire.Hosting.Azure (89)
AzureBicepResource.cs (8)
29/// Initializes a new instance of the <see cref="AzureBicepResource"/> class. 291private static async Task ProvisionAzureBicepResourceAsync(PipelineStepContext context, AzureBicepResource resource) 574/// <param name="resource">The <see cref="AzureBicepResource"/>.</param> 576public sealed class BicepSecretOutputReference(string name, AzureBicepResource resource) : IManifestExpressionProvider, IValueProvider, IValueWithReferences 586public AzureBicepResource Resource { get; } = resource; 629/// <param name="resource">The <see cref="AzureBicepResource"/>.</param> 631public sealed class BicepOutputReference(string name, AzureBicepResource resource) : IManifestExpressionProvider, IValueProvider, IValueWithReferences, IEquatable<BicepOutputReference> 641public AzureBicepResource Resource { get; } = resource;
AzureBicepResourceExtensions.cs (28)
24public static IResourceBuilder<AzureBicepResource> AddBicepTemplate(this IDistributedApplicationBuilder builder, [ResourceName] string name, string bicepFile) 29var resource = new AzureBicepResource(name, templateFile: path, templateString: null); 41public static IResourceBuilder<AzureBicepResource> AddBicepTemplateString(this IDistributedApplicationBuilder builder, [ResourceName] string name, string bicepContent) 45var resource = new AzureBicepResource(name, templateFile: null, templateString: bicepContent); 56public static BicepOutputReference GetOutput(this IResourceBuilder<AzureBicepResource> builder, string name) 68public static BicepSecretOutputReference GetSecretOutput(this IResourceBuilder<AzureBicepResource> builder, string name) 132/// <typeparam name="T">The <see cref="AzureBicepResource"/>.</typeparam> 138where T : AzureBicepResource 148/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 155where T : AzureBicepResource 165/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 172where T : AzureBicepResource 182/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 190where T : AzureBicepResource 200/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 208where T : AzureBicepResource 218/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 225where T : AzureBicepResource 233/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 241where T : AzureBicepResource 254/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 261where T : AzureBicepResource 274/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 281where T : AzureBicepResource 294/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 301where T : AzureBicepResource 314/// <typeparam name="T">The <see cref="AzureBicepResource"/></typeparam> 321where T : AzureBicepResource
AzurePublishingContext.cs (8)
127var bicepResourcesToPublish = model.Resources.OfType<AzureBicepResource>() 150var moduleMap = new Dictionary<AzureBicepResource, ModuleImport>(); 152foreach (var resource in bicepResourcesToPublish) 172foreach (var resource in bicepResourcesToPublish) 259foreach (var resource in bicepResourcesToPublish) 285if (parameter.Key == AzureBicepResource.KnownParameters.UserPrincipalId && parameter.Value is null) 290if (parameter.Key == AzureBicepResource.KnownParameters.PrincipalId && parameter.Value is null) 338if (resource.GetDeploymentTargetAnnotation() is { } annotation && annotation.DeploymentTarget is AzureBicepResource br)
AzureResourcePreparer.cs (10)
137var prerequisiteResources = new HashSet<AzureBicepResource>(); 215foreach (var roleAssignmentResource in roleAssignmentResources) 265private (AzureUserAssignedIdentityResource IdentityResource, List<AzureBicepResource> RoleAssignmentResources) CreateIdentityAndRoleAssignmentResources( 295private List<AzureBicepResource> CreateRoleAssignmentsResources( 300var roleAssignmentResources = new List<AzureBicepResource>(); 335new(() => appIdentityResource.PrincipalId.AsProvisioningParameter(infra, parameterName: AzureBicepResource.KnownParameters.PrincipalId)), 336new(() => appIdentityResource.PrincipalName.AsProvisioningParameter(infra, parameterName: AzureBicepResource.KnownParameters.PrincipalName))); 439new(() => CreatePrincipalParam(AzureBicepResource.KnownParameters.PrincipalType)), 440new(() => CreatePrincipalParam(AzureBicepResource.KnownParameters.PrincipalId)), 441new(() => CreatePrincipalParam(AzureBicepResource.KnownParameters.PrincipalName)));
BicepResourceAnnotation.cs (7)
11/// <param name="resource">The <see cref="AzureBicepResource"/> which should be used by the <see cref="AzureProvisioner"/>.</param> 15/// and only has built-in deployment logic for resources that derive from <see cref="AzureBicepResource"/>. This annotation 17/// provision an Azure resource for an Aspire resource type that does not itself derive from <see cref="AzureBicepResource"/>. 21/// resource to the application model. This type does not derive from <see cref="AzureBicepResource"/> but can be annotated with 31public class AzureBicepResourceAnnotation(AzureBicepResource resource) : IResourceAnnotation 34/// The <see cref="AzureBicepResource"/> derived resource. 36public AzureBicepResource Resource => resource;
DeploymentPrerequisitesAnnotation.cs (2)
13public sealed class DeploymentPrerequisitesAnnotation(IReadOnlySet<AzureBicepResource> resources) : IResourceAnnotation 18public IReadOnlySet<AzureBicepResource> Resources { get; } = resources;
Provisioning\BicepUtilities.cs (10)
20AzureBicepResource.KnownParameters.PrincipalName, 21AzureBicepResource.KnownParameters.PrincipalId, 22AzureBicepResource.KnownParameters.PrincipalType, 23AzureBicepResource.KnownParameters.UserPrincipalId, 24AzureBicepResource.KnownParameters.Location, 30public static async Task SetParametersAsync(JsonObject parameters, AzureBicepResource resource, bool skipKnownValues = false, CancellationToken cancellationToken = default) 66public static async Task SetScopeAsync(JsonObject scope, AzureBicepResource resource, CancellationToken cancellationToken = default) 84public static string GetChecksum(AzureBicepResource resource, JsonObject parameters, JsonObject? scope) 105public static async ValueTask<string?> GetCurrentChecksumAsync(AzureBicepResource resource, IConfiguration section, CancellationToken cancellationToken = default) 145internal static object? GetExistingResourceGroup(AzureBicepResource resource) =>
Provisioning\Internal\BaseProvisioningContextProvider.cs (1)
163var errorMessage = AzureBicepResource.ExtractDetailedErrorMessage(createEx);
Provisioning\Provisioners\AzureProvisioner.cs (1)
195if (resource.AzureResource is not AzureBicepResource bicepResource)
Provisioning\Provisioners\BicepProvisioner.cs (12)
33public async Task<bool> ConfigureResourceAsync(IConfiguration configuration, AzureBicepResource resource, CancellationToken cancellationToken) 116public async Task GetOrCreateResourceAsync(AzureBicepResource resource, ProvisioningContext context, CancellationToken cancellationToken) 303var resource = (AzureBicepResource)kvr; 316private static void PopulateWellKnownParameters(AzureBicepResource resource, ProvisioningContext context) 333if (resource.Parameters.TryGetValue(AzureBicepResource.KnownParameters.PrincipalId, out var principalId) && principalId is null) 337resource.Parameters[AzureBicepResource.KnownParameters.PrincipalId] = context.Principal.Id; 340if (resource.Parameters.TryGetValue(AzureBicepResource.KnownParameters.PrincipalName, out var principalName) && principalName is null) 344resource.Parameters[AzureBicepResource.KnownParameters.PrincipalName] = context.Principal.Name; 347if (resource.Parameters.TryGetValue(AzureBicepResource.KnownParameters.PrincipalType, out var principalType) && principalType is null) 351resource.Parameters[AzureBicepResource.KnownParameters.PrincipalType] = "User"; 355resource.Parameters[AzureBicepResource.KnownParameters.Location] = context.Location.Name;
Provisioning\Provisioners\IBicepProvisioner.cs (2)
20Task<bool> ConfigureResourceAsync(IConfiguration configuration, AzureBicepResource resource, CancellationToken cancellationToken); 29Task GetOrCreateResourceAsync(AzureBicepResource resource, ProvisioningContext context, CancellationToken cancellationToken);
Aspire.Hosting.Azure.AppContainers (4)
AzureContainerAppExtensions.cs (1)
69var userPrincipalId = new ProvisioningParameter(AzureBicepResource.KnownParameters.UserPrincipalId, typeof(string)) { Value = new BicepValue<string>(string.Empty) };
AzureContainerAppsInfrastructure.cs (1)
55var containerApp = await containerAppEnvironmentContext.CreateContainerAppAsync(r, options.Value, cancellationToken).ConfigureAwait(false);
ContainerAppEnvironmentContext.cs (2)
74public async Task<AzureBicepResource> CreateContainerAppAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken) 90foreach (var prereq in prereqs.SelectMany(p => p.Resources))
Aspire.Hosting.Azure.AppService (4)
AzureAppServiceEnvironmentContext.cs (2)
36public async Task<AzureBicepResource> CreateAppServiceAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken) 52foreach (var prereq in prereqs.SelectMany(p => p.Resources))
AzureAppServiceEnvironmentExtensions.cs (1)
58var userPrincipalId = new ProvisioningParameter(AzureBicepResource.KnownParameters.UserPrincipalId, typeof(string)) { Value = new BicepValue<string>(string.Empty) };
AzureAppServiceInfrastructure.cs (1)
66var website = await appServiceEnvironmentContext.CreateAppServiceAsync(resource, provisioningOptions.Value, cancellationToken).ConfigureAwait(false);
Aspire.Hosting.Azure.PostgreSQL (2)
AzurePostgresExtensions.cs (2)
24where T : AzureBicepResource 598private static ParameterResource CreateDefaultUserNameParameter<T>(IResourceBuilder<T> builder) where T : AzureBicepResource
Aspire.Hosting.Azure.Redis (1)
AzureRedisExtensions.cs (1)
38var kvNameParam = new ProvisioningParameter(AzureBicepResource.KnownParameters.KeyVaultName, typeof(string));
Aspire.Hosting.Azure.Tests (47)
AzureBicepProvisionerTests.cs (4)
118var resource = new AzureBicepResource("storage-roles", templateString: "output id string = 'ok'"); 119resource.Parameters[AzureBicepResource.KnownParameters.PrincipalId] = null; 120resource.Parameters[AzureBicepResource.KnownParameters.PrincipalName] = null; 121resource.Parameters[AzureBicepResource.KnownParameters.PrincipalType] = null;
AzureBicepResourceTests.cs (3)
265var resource = new AzureBicepResource("test-resource", templateFile: bicepFilePath); 290var resource = new AzureBicepResource("test-resource", templateFile: bicepFilePath); 307var resource = new AzureBicepResource("test-resource", templateString: bicepContent);
AzureContainerAppsTests.cs (11)
553var resource = target?.DeploymentTarget as AzureBicepResource; 591var resource = target?.DeploymentTarget as AzureBicepResource; 631var resource = target?.DeploymentTarget as AzureBicepResource; 767var kvNameParam = new ProvisioningParameter(AzureBicepResource.KnownParameters.KeyVaultName, typeof(string)); 800var target = container.Resource.GetDeploymentTargetAnnotation()?.DeploymentTarget as AzureBicepResource; 1625var resource = target?.DeploymentTarget as AzureBicepResource;
AzureDeployerTests.cs (4)
1314public Task<bool> ConfigureResourceAsync(IConfiguration configuration, AzureBicepResource resource, CancellationToken cancellationToken) 1319public Task GetOrCreateResourceAsync(AzureBicepResource resource, ProvisioningContext context, CancellationToken cancellationToken) 1327public Task<bool> ConfigureResourceAsync(IConfiguration configuration, AzureBicepResource resource, CancellationToken cancellationToken) 1332public Task GetOrCreateResourceAsync(AzureBicepResource resource, ProvisioningContext context, CancellationToken cancellationToken)
AzureEnvironmentResourceTests.cs (1)
287var customResource = new AzureBicepResource("custom-resource", bicepFileName);
AzureResourcePreparerTests.cs (4)
211var roleAssignmentResource = Assert.Single(model.Resources.OfType<AzureBicepResource>(), r => r.Name == "api-roles-storage"); 212var deploymentTarget = Assert.IsAssignableFrom<AzureBicepResource>(api.Resource.GetDeploymentTargetAnnotation()?.DeploymentTarget);
BicepUtilitiesTests.cs (20)
208var bicep1 = builder.AddBicepTemplateString("test1", "param name string").Resource; 209var bicep2 = builder.AddBicepTemplateString("test2", "param name string").Resource; 229var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 254var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 282var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 314var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 316bicep.Parameters[AzureBicepResource.KnownParameters.PrincipalId] = "someId"; 317bicep.Parameters[AzureBicepResource.KnownParameters.Location] = "someLocation"; 327Assert.True(parameters.ContainsKey(AzureBicepResource.KnownParameters.PrincipalId)); 328Assert.True(parameters.ContainsKey(AzureBicepResource.KnownParameters.Location)); 336var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 354var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 372var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 387var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 408var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 441var bicep = builder.AddBicepTemplateString("test", "param name string").Resource; 442bicep.Parameters[AzureBicepResource.KnownParameters.PrincipalType] = null; 443bicep.Parameters[AzureBicepResource.KnownParameters.PrincipalId] = null; 447[AzureBicepResource.KnownParameters.PrincipalType] = new JsonObject { ["value"] = "User" }, 448[AzureBicepResource.KnownParameters.PrincipalId] = new JsonObject { ["value"] = "1234" },
Aspire.Hosting.Foundry (1)
Project\ProjectBuilderExtension.cs (1)
222var userPrincipalId = new ProvisioningParameter(AzureBicepResource.KnownParameters.UserPrincipalId, typeof(string)) { Value = new BicepValue<string>(string.Empty) };
BicepSample.AppHost (1)
Program.cs (1)
10AzureBicepResource? temp00 = null;