protected override void ProcessRecord() { base.ProcessRecord(); if (!ShouldProcess($"{Project}/{Zone}", "Delete ManagedZone")) { return; } ResourceRecordSetsResource.ListRequest rrsetListRequest = Service.ResourceRecordSets.List(Project, Zone); ResourceRecordSetsListResponse rrsetListResponse = rrsetListRequest.Execute(); IList <ResourceRecordSet> rrsetList = rrsetListResponse.Rrsets; IList <ResourceRecordSet> nonDefaultRrsets = new List <ResourceRecordSet>(); foreach (ResourceRecordSet rrset in rrsetList) { if (!rrset.Type.Equals("NS") && !rrset.Type.Equals("SOA")) { nonDefaultRrsets.Add(rrset); } } if (nonDefaultRrsets.Count > 0) { if (!Force && !ShouldContinue($"{Project}/{Zone}", "Delete Non-Empty ManagedZone (with non-NS/SOA records)")) { return; } Change changeContent = new Change { Deletions = nonDefaultRrsets }; ChangesResource.CreateRequest changeCreateRequest = Service.Changes.Create(changeContent, Project, Zone); changeCreateRequest.Execute(); } ManagedZonesResource.DeleteRequest zoneDeleteRequest = Service.ManagedZones.Delete(Project, Zone); zoneDeleteRequest.Execute(); }
protected override void ProcessRecord() { base.ProcessRecord(); Change changeContent; switch (ParameterSetName) { case ParameterSetNames.AddRm: if ((Add == null || Add.Length == 0) && (Remove == null || Remove.Length == 0)) { throw new System.ArgumentException(LocalErrorMessages.NeedChangeContent); } else { changeContent = new Change { Additions = Add, Deletions = Remove }; } break; case ParameterSetNames.ChangeRequest: changeContent = ChangeRequest; break; default: throw UnknownParameterSetException; } ChangesResource.CreateRequest changeCreateRequest = Service.Changes.Create(changeContent, Project, Zone); Change changeResponse = changeCreateRequest.Execute(); WriteObject(changeResponse); }