Implemented interface member:
142 references to Metadata
Aspire.Hosting (109)
Dcp\AppResource.cs (5)
14public string DcpResourceName => DcpResource.Metadata.Name; 33dr.Metadata.Name == odr.Metadata.Name && 34dr.Metadata.NamespaceProperty == odr.Metadata.NamespaceProperty;
Dcp\DcpExecutor.cs (59)
445if (_logStreams.TryRemove(resource.Metadata.Name, out var logStream)) 453_logger.LogTrace("Deleting application model resource {ResourceName} with {ResourceKind} resource {ResourceName}", appModelResource.Name, resourceKind, resource.Metadata.Name); 460_logger.LogTrace("Updating application model resource {ResourceName} with {ResourceKind} resource {ResourceName}", appModelResource.Name, resourceKind, resource.Metadata.Name); 465await _executorEvents.PublishAsync(new OnResourceChangedContext(_shutdownCancellation.Token, resourceType, appModelResource, resource.Metadata.Name, status, s => snapshotFactory(resource, s))).ConfigureAwait(false); 471_logInformationChannel.Writer.TryWrite(new(resource.Metadata.Name, LogsAvailable: true, HasSubscribers: null)); 480_logger.LogTrace("No application model resource found for {ResourceKind} resource {ResourceName}", resourceKind, resource.Metadata.Name); 491_resourceState.ResourceAssociatedServicesMap.Remove((resourceKind, resource.Metadata.Name), out _); 493else if (resource.Metadata.Annotations?.TryGetValue(CustomResource.ServiceProducerAnnotation, out var servicesProducedAnnotationJson) == true) 498_resourceState.ResourceAssociatedServicesMap[(resourceKind, resource.Metadata.Name)] 646_logStreams.GetOrAdd(resource.Metadata.Name, (_) => 656_logger.LogDebug("Starting log streaming for {ResourceName}.", resource.Metadata.Name); 660var logger = _loggerService.GetInternalLogger(resource.Metadata.Name); 673_logger.LogDebug("Log streaming for {ResourceName} was cancelled.", resource.Metadata.Name); 677_logger.LogError(ex, "Error streaming logs for {ResourceName}.", resource.Metadata.Name); 693if (endpoint.Metadata.OwnerReferences is null) 698foreach (var ownerReference in endpoint.Metadata.OwnerReferences) 711foreach (var ((resourceKind, resourceName), _) in _resourceState.ResourceAssociatedServicesMap.Where(e => e.Value.Contains(service.Metadata.Name))) 761map.TryAdd(resource.Metadata.Name, resource); 765map[resource.Metadata.Name] = resource; 769map.Remove(resource.Metadata.Name, out _); 808var srvResource = needAddressAllocated.FirstOrDefault(sr => sr.Metadata.Name == updated.Metadata.Name); 819AspireEventSource.Instance.DcpServiceAddressAllocated(srvResource.Metadata.Name); 832var dcpSvc = await _kubernetesService.GetAsync<Service>(sar.Metadata.Name, cancellationToken: cancellationToken).ConfigureAwait(false); 839_distributedApplicationLogger.LogWarning("Unable to allocate a network port for service '{ServiceName}'; service may be unreachable and its clients may not work properly.", sar.Metadata.Name); 840AspireEventSource.Instance.DcpServiceAddressAllocationFailed(sar.Metadata.Name); 865sr.Metadata.Annotations?.TryGetValue(CustomResource.ContainerTunnelInstanceName, out var _) is true && 866sr.Metadata.Annotations?.TryGetValue(CustomResource.ContainerNetworkAnnotation, out var containerNetwork) is true && 883PrimaryServiceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.PrimaryServiceNameAnnotation, out var psn) == true ? psn : null) 890.Where(svc => svc.Metadata.Name.Equals(cs.PrimaryServiceName)).First(); 915AspireEventSource.Instance.DcpObjectCreationStart(rtc.Kind, rtc.Metadata.Name); 920AspireEventSource.Instance.DcpObjectCreationStop(rtc.Kind, rtc.Metadata.Name); 963throw new InvalidDataException($"Service {svc.Metadata.Name} should have valid address at this point"); 968throw new InvalidOperationException($"Service '{svc.Metadata.Name}' needs to specify a port for endpoint '{sp.EndpointAnnotation.Name}' since it isn't using a proxy."); 978targetPortExpression: $$$"""{{- portForServing "{{{svc.Metadata.Name}}}" -}}""", 990ResourceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ResourceNameAnnotation, out var resourceName) == true ? resourceName : null, 991EndpointName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.EndpointNameAnnotation, out var endpointName) == true ? endpointName : null, 992TunnelInstanceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ContainerTunnelInstanceName, out var tunnelInstanceName) == true ? tunnelInstanceName : null, 993ContainerNetworkName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ContainerNetworkAnnotation, out var containerNetworkName) == true ? containerNetworkName : null 1006throw new InvalidDataException($"Service '{ts.Service!.Metadata.Name}' refers to endpoint '{ts.EndpointName}' that does not exist"); 1012throw new InvalidDataException($"Container tunnel service {ts.Service?.Metadata.Name} should have valid address at this point"); 1212ServerServiceName = serverSvc.DcpResource.Metadata.Name, 1214ClientServiceName = svc.Metadata.Name, 1225svc.Annotate(CustomResource.PrimaryServiceNameAnnotation, serverSvc.DcpResource.Metadata.Name); 1228svc.Annotate(CustomResource.ContainerTunnelInstanceName, tunnelProxy?.Metadata?.Name ?? ""); 1512er.DcpResource.Metadata.Name, new ResourceStatus(KnownResourceStates.NotStarted, null, null), s => s with { State = new ResourceStateSnapshot(KnownResourceStates.NotStarted, null) }) 1538await _executorEvents.PublishAsync(new OnResourceFailedToStartContext(cancellationToken, resourceType, er.ModelResource, er.DcpResource.Metadata.Name)).ConfigureAwait(false); 1546await _executorEvents.PublishAsync(new OnResourceFailedToStartContext(cancellationToken, resourceType, er.ModelResource, er.DcpResource.Metadata.Name)).ConfigureAwait(false); 1929AspireEventSource.Instance.DcpObjectCreationStart(dcpContainerResource.Kind, dcpContainerResource.Metadata.Name); 1937await _executorEvents.PublishAsync(new OnResourceStartingContext(cancellationToken, KnownResourceTypes.Container, cr.ModelResource, cr.DcpResource.Metadata.Name)).ConfigureAwait(false); 2265var spAnn = new ServiceProducerAnnotation(sp.Service.Metadata.Name); 2274if (resource is Executable exe && exe.Metadata.Annotations.TryGetValue(CustomResource.ResourceReplicaCount, out var value) && int.TryParse(value, CultureInfo.InvariantCulture, out var replicas) && replicas > 1) 2336AspireEventSource.Instance.StopResourceStart(dcpResource.Kind, dcpResource.Metadata.Name); 2347var cu = await _kubernetesService.GetAsync<Container>(c.Metadata.Name, cancellationToken: attemptCancellationToken).ConfigureAwait(false); 2362var eu = await _kubernetesService.GetAsync<Executable>(e.Metadata.Name, cancellationToken: attemptCancellationToken).ConfigureAwait(false); 2381AspireEventSource.Instance.StopResourceStop(dcpResource.Kind, dcpResource.Metadata.Name); 2395.SingleOrDefault(r => string.Equals(r.DcpResource.Metadata.Name, resourceName, StringComparisons.ResourceName)); 2409AspireEventSource.Instance.StartResourceStart(appResource.DcpResource.Kind, appResource.DcpResource.Metadata.Name); 2454AspireEventSource.Instance.StartResourceStop(appResource.DcpResource.Kind, appResource.DcpResource.Metadata.Name);
Dcp\KubernetesService.cs (4)
176obj.Metadata.Name, 184obj.Metadata.Name, 349obj.Metadata.Name, 351obj.Metadata.Namespace(),
Dcp\Model\Container.cs (2)
575c.Metadata.Name = name; 576c.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ContainerExec.cs (2)
137containerExec.Metadata.Name = name; 138containerExec.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ContainerNetwork.cs (2)
91c.Metadata.Name = name; 92c.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ContainerTunnel.cs (2)
271tp.Metadata.Name = name; 272tp.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ContainerVolume.cs (2)
78containerVolume.Metadata.Name = name; 79containerVolume.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\Endpoint.cs (2)
48e.Metadata.Name = name; 49e.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\Executable.cs (2)
255exe.Metadata.Name = name; 256exe.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ExecutableReplicaSet.cs (2)
107ers.Metadata.Name = name; 108ers.Metadata.NamespaceProperty = string.Empty;
Dcp\Model\ModelCommon.cs (12)
41public string? AppModelResourceName => Metadata.Annotations?.TryGetValue(ResourceNameAnnotation, out var value) is true ? value : null; 43public string? AppModelInitialState => Metadata.Annotations?.TryGetValue(ResourceStateAnnotation, out var value) is true ? value : null; 50if (Metadata.Annotations is null) 52Metadata.Annotations = new Dictionary<string, string>(); 55Metadata.Annotations[annotationName] = value; 60if (Metadata.Annotations is null) 62Metadata.Annotations = new Dictionary<string, string>(); 65AnnotateAsObjectList<TValue>(Metadata.Annotations, annotationName, value); 70if (Metadata.Annotations is null) 72Metadata.Annotations = new Dictionary<string, string>(); 75Metadata.Annotations[annotationName] = JsonSerializer.Serialize<List<TValue>>(list.ToList()); 80return TryGetAnnotationAsObjectList<TValue>(Metadata.Annotations, annotationName, out list);
Dcp\Model\Service.cs (3)
83s.Metadata.Name = name; 84s.Metadata.NamespaceProperty = string.Empty; 93public string? EndpointName => Metadata.Annotations?.TryGetValue(EndpointNameAnnotation, out var value) is true ? value : null;
Dcp\ResourceLogSource.cs (2)
98logger.LogWarning("Failed to write log entry to channel. Logs for {Kind} {Name} may be incomplete", resource.Kind, resource.Metadata.Name); 110logger.LogError(ex, "Unexpected error happened when capturing logs for {Kind} {Name}", resource.Kind, resource.Metadata.Name);
Dcp\ResourceSnapshotBuilder.cs (8)
62CreationTimeStamp = container.Metadata.CreationTimestamp?.ToUniversalTime(), 121CreationTimeStamp = executable.Metadata.CreationTimestamp?.ToUniversalTime(), 176CreationTimeStamp = executable.Metadata.CreationTimestamp?.ToUniversalTime(), 198CreationTimeStamp = executable.Metadata.CreationTimestamp?.ToUniversalTime(), 247var name = resource.Metadata.Name; 253.Select(s => (s.EndpointName!, s.Metadata.Name))); 268&& e.Value.Metadata.OwnerReferences?.Any(or => or.Kind == resource.Kind && or.Name == name) == true) 299var isActive = _resourceState.EndpointsMap.Any(e => e.Value.Spec.ServiceName == endpointOwnerEndpoint?.Metadata.Name);
Aspire.Hosting.Tests (33)
Dcp\DcpExecutorTests.cs (15)
48Assert.Equal("CustomName", container.Metadata.Annotations["otel-service-name"]); 210var reference = appExecutor.GetResource(exe1.Metadata.Name); 557Assert.Equal(expectedName, exe.Metadata.Annotations[CustomResource.OtelServiceNameAnnotation]); 595var watchLogs = resourceLoggerService.WatchAsync(exeResource.Metadata.Name); 605Assert.Equal(exeResource.Metadata.Name, watchSubscribersEnumerator.Current.Name); 632var loggerState = resourceLoggerService.GetResourceLoggerState(exeResource.Metadata.Name); 645Assert.Equal(exeResource.Metadata.Name, watchSubscribersEnumerator.Current.Name); 698var watchLogs1 = resourceLoggerService.WatchAsync(exeResource.Metadata.Name); 704Assert.Equal(exeResource.Metadata.Name, watchSubscribersEnumerator.Current.Name); 720var watchLogs2 = resourceLoggerService.WatchAsync(exeResource.Metadata.Name); 778var watchLogs = resourceLoggerService.WatchAsync(exeResource.Metadata.Name); 783Assert.Equal(exeResource.Metadata.Name, watchSubscribersEnumerator.Current.Name); 1217var resourceReference = appExecutor.GetResource(dcpCtr.Metadata.Name); 1220Assert.Equal($"Failed to delete '{dcpCtr.Metadata.Name}' successfully before restart.", ex.Message); 1342var annotations = container.Metadata.EnsureAnnotations();
Dcp\TestKubernetesService.cs (10)
34_startStream = startStream ?? ((obj, logStreamType) => new MemoryStream(Encoding.UTF8.GetBytes($"Logs for {obj.Metadata.Name} ({logStreamType})"))); 49r.Metadata.Name == name && 50string.Equals(r.Metadata.NamespaceProperty ?? string.Empty, namespaceParameter ?? string.Empty) 127string.Equals(r.Metadata.NamespaceProperty ?? string.Empty, namespaceParameter ?? string.Empty) 190r.Metadata.Name == obj.Metadata.Name && 191string.Equals(r.Metadata.NamespaceProperty, obj.Metadata.NamespaceProperty) 195throw new ArgumentException($"Resource '{obj.Metadata.NamespaceProperty}/{obj.Metadata.Name}' not found");
DistributedApplicationTests.cs (8)
792var redisContainer = Assert.Single(list, c => c.Metadata.Name.StartsWith($"{testName}-redis")); 1087await orchestrator.StopResourceAsync(redisContainer.Metadata.Name, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 1092await orchestrator.StartResourceAsync(redisContainer.Metadata.Name, token); 1125await orchestrator.StopResourceAsync(serviceA.Metadata.Name, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 1130await orchestrator.StartResourceAsync(serviceA.Metadata.Name, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 1439Assert.True(resource.Item2.Metadata.Annotations.TryGetValue(Container.ResourceNameAnnotation, out var value)); 1453Assert.True(resource.Item2.Metadata.Annotations.TryGetValue(Executable.ResourceNameAnnotation, out var value)); 1709Assert.All(serviceList.Where(s => s.Metadata.Name.Contains("redis")), s => Assert.Equal(AddressAllocationModes.Proxyless, s.Spec.AddressAllocationMode));