public override void ExecuteCmdlet() { if (ParameterSetName.Equals(InputObjectParameterSet)) { VaultName = InputObject.VaultName.ToString(); } if (ShouldProcess(VaultName, Properties.Resources.AddCertificateContact)) { Contacts existingContacts; try { existingContacts = this.DataServiceClient.GetCertificateContacts(VaultName); } catch (KeyVaultErrorException exception) { if (exception.Response.StatusCode != System.Net.HttpStatusCode.NotFound) { throw; } existingContacts = null; } List <Contact> newContactList; if (existingContacts == null || existingContacts.ContactList == null) { newContactList = new List <Contact>(); } else { newContactList = new List <Contact>(existingContacts.ContactList); } foreach (var email in EmailAddress) { if (newContactList.FindIndex( contact => (string.Compare(contact.EmailAddress, email, StringComparison.OrdinalIgnoreCase) == 0)) == -1) { newContactList.Add(new Contact { EmailAddress = email }); } } var resultantContacts = this.DataServiceClient.SetCertificateContacts(VaultName, new Contacts { ContactList = newContactList }); if (PassThru.IsPresent) { this.WriteObject(PSKeyVaultCertificateContact.FromKVCertificateContacts(resultantContacts, VaultName), true); } } }
public override void ExecuteCmdlet() { if (ShouldProcess(VaultName, Properties.Resources.RemoveCertificateContact)) { Contacts existingContacts; try { existingContacts = this.DataServiceClient.GetCertificateContacts(VaultName); } catch (KeyVaultErrorException exception) { if (exception.Response.StatusCode != System.Net.HttpStatusCode.NotFound) { throw; } existingContacts = null; } List <Contact> existingContactList; if (existingContacts == null || existingContacts.ContactList == null) { existingContactList = new List <Contact>(); } else { existingContactList = new List <Contact>(existingContacts.ContactList); } foreach (var email in EmailAddress) { existingContactList.RemoveAll(contact => string.Compare(contact.EmailAddress, email, StringComparison.OrdinalIgnoreCase) == 0); } if (existingContactList.Count == 0) { existingContactList = null; } var resultantContacts = this.DataServiceClient.SetCertificateContacts(VaultName, new Contacts { ContactList = existingContactList }); if (PassThru.IsPresent) { this.WriteObject(PSKeyVaultCertificateContact.FromKVCertificateContacts(resultantContacts, VaultName)); } } }
public override void ExecuteCmdlet() { Contacts contacts; if (InputObject != null) { VaultName = InputObject.VaultName.ToString(); } else if (!string.IsNullOrEmpty(ResourceId)) { var parsedResourceId = new ResourceIdentifier(ResourceId); VaultName = parsedResourceId.ResourceName; } try { contacts = this.DataServiceClient.GetCertificateContacts(this.VaultName); } catch (KeyVaultErrorException exception) { if (exception.Response.StatusCode != System.Net.HttpStatusCode.NotFound) { throw; } contacts = null; } if (contacts == null || contacts.ContactList == null) { return; } var contactsModel = new List <PSKeyVaultCertificateContact>(); foreach (var contact in contacts.ContactList) { contactsModel.Add(PSKeyVaultCertificateContact.FromKVCertificateContact(contact, VaultName)); } this.WriteObject(contactsModel, true); }