/// <inheritdoc cref="NetworkingService_Layer3_Extensions.ListSecurityGroupsAsync" /> public static IEnumerable <SecurityGroup> ListSecurityGroups(this NetworkingService service, SecurityGroupListOptions options = null) { return(service.ListSecurityGroupsAsync(options).ForceSynchronous()); }
/// <summary> /// List Security groups associated with server nics or the vlan /// </summary> /// <param name="vlanId">Vlan Id</param> /// <param name="serverId">Server Id</param> /// <param name="pagingOptions">Paging options</param> /// <param name="filterOptions">Filter options</param> /// <returns>List of Security groups</returns> public async Task <PagedResponse <SecurityGroupType> > GetSecurityGroupsPaged(Guid?vlanId, Guid?serverId, PageableRequest pagingOptions = null, SecurityGroupListOptions filterOptions = null) { if (vlanId == null && serverId == null) { throw new ArgumentException("Both vlanId and serverId cannot be null, atleast provide one"); } var response = await _api.GetAsync <securityGroups>(serverId.HasValue?ApiUris.GetSecurityGroupForServer(_api.OrganizationId, serverId.Value) : ApiUris.GetSecurityGroupForVlan(_api.OrganizationId, vlanId.Value), pagingOptions, filterOptions); return(new PagedResponse <SecurityGroupType> { items = response.securityGroup, totalCount = response.totalCountSpecified ? response.totalCount : (int?)null, pageCount = response.pageCountSpecified ? response.pageCount : (int?)null, pageNumber = response.pageNumberSpecified ? response.pageNumber : (int?)null, pageSize = response.pageSizeSpecified ? response.pageSize : (int?)null }); }
/// <inheritdoc cref="NetworkingService_Layer3_Extensions.ListSecurityGroupsAsync" /> public static IEnumerable<SecurityGroup> ListSecurityGroups(this NetworkingService service, SecurityGroupListOptions options = null) { return service.ListSecurityGroupsAsync(options).ForceSynchronous(); }
/// <summary> /// List Security groups. /// </summary> /// <param name="pagingOptions">Paging options</param> /// <param name="filterOptions">Filter options</param> /// <returns>List of Security groups</returns> public async Task <PagedResponse <SecurityGroupType> > GetSecurityGroupsPaginated(PageableRequest pagingOptions = null, SecurityGroupListOptions filterOptions = null) { var response = await _api.GetAsync <securityGroups>(ApiUris.GetSecurityGroup(_api.OrganizationId), pagingOptions, filterOptions); return(new PagedResponse <SecurityGroupType> { items = response.securityGroup, totalCount = response.totalCountSpecified ? response.totalCount : (int?)null, pageCount = response.pageCountSpecified ? response.pageCount : (int?)null, pageNumber = response.pageNumberSpecified ? response.pageNumber : (int?)null, pageSize = response.pageSizeSpecified ? response.pageSize : (int?)null }); }