public override void ExecuteCmdlet() { if (ParameterSetName.Equals(InputObjectParameterSet)) { this.ResourceGroupName = this.InputObject.Resourcegroup; this.Name = this.InputObject.Name; } if (ParameterSetName.Equals(ResourceIdParameterSet)) { this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId); this.Name = IotHubUtils.GetIotHubName(this.ResourceId); } if (!string.IsNullOrEmpty(CertificateName)) { CertificateDescription certificateDescription = this.IotHubClient.Certificates.Get(this.ResourceGroupName, this.Name, this.CertificateName); this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescription)); } else { CertificateListDescription certificateDescriptions = this.IotHubClient.Certificates.ListByIotHub(this.ResourceGroupName, this.Name); if (certificateDescriptions.Value.Count == 1) { this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescriptions.Value[0])); } else { this.WriteObject(IotHubUtils.ToPSCertificates(certificateDescriptions), true); } } }
public override void ExecuteCmdlet() { Path = ResolveUserPath(Path); if (ShouldProcess(CertificateName, Properties.Resources.AddIotHubCertificate)) { string certificate = string.Empty; FileInfo fileInfo = new FileInfo(this.Path); switch (fileInfo.Extension.ToLower(CultureInfo.InvariantCulture)) { case ".cer": var certificateByteContent = File.ReadAllBytes(this.Path); certificate = Convert.ToBase64String(certificateByteContent); break; case ".pem": certificate = File.ReadAllText(this.Path); break; default: certificate = this.Path; break; } if (ParameterSetName.Equals(InputObjectParameterSet)) { this.ResourceGroupName = this.InputObject.ResourceGroupName; this.Name = this.InputObject.Name; this.CertificateName = this.InputObject.CertificateName; this.Etag = this.InputObject.Etag; } if (ParameterSetName.Equals(ResourceIdParameterSet)) { this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId); this.Name = IotHubUtils.GetIotHubName(this.ResourceId); this.CertificateName = IotHubUtils.GetIotHubCertificateName(this.ResourceId); } try { certificate = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(certificate)); CertificateBodyDescription certificateBodyDescription = new CertificateBodyDescription(); certificateBodyDescription.Certificate = certificate; CertificateDescription certificateDescription; certificateDescription = this.IotHubClient.Certificates.CreateOrUpdate(this.ResourceGroupName, this.Name, this.CertificateName, this.Etag, certificateBodyDescription.Certificate); this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescription)); } catch (Exception e) { throw e; } } }