public override void ExecuteCmdlet() { BasePSResourceParameters parameters = new BasePSResourceParameters() { Name = Name, ResourceGroupName = ResourceGroupName, ResourceType = ResourceType, ParentResource = ParentResource, ApiVersion = ApiVersion }; List <PSResource> resourceList = ResourcesClient.FilterPSResources(parameters); if (resourceList != null) { if (resourceList.Count == 1 && Name != null) { WriteObject(resourceList[0]); } else { List <PSObject> output = new List <PSObject>(); resourceList.ForEach(r => output.Add(base.ConstructPSObject( null, "Name", r.Name, "ResourceGroupName", r.ResourceGroupName, "ResourceType", r.ResourceType, "Location", r.Location, "ParentResource", r.ParentResource))); WriteObject(output, true); } } }
internal static Certificate[] GetCertificates(ResourcesClient resourceClient, WebsitesClient websitesClient, string resourceGroupName, string thumbPrint) { var certificateResources = resourceClient.FilterPSResources(new BasePSResourceParameters() { ResourceType = "Microsoft.Web/Certificates" }).ToArray(); if (!string.IsNullOrEmpty(resourceGroupName)) { certificateResources = certificateResources.Where(c => string.Equals(c.ResourceGroupName, resourceGroupName, StringComparison.OrdinalIgnoreCase)).ToArray(); } var certificates = certificateResources.Select( certificateResource => websitesClient.GetCertificate(certificateResource.ResourceGroupName, certificateResource.Name)); if (!string.IsNullOrEmpty(thumbPrint)) { certificates = certificates.Where(c => string.Equals(c.Thumbprint, thumbPrint, StringComparison.OrdinalIgnoreCase)).ToList(); } return(certificates.ToArray()); }