/// <inheritdoc cref="NetworkingService_Layer3_Extensions.ListSecurityGroupsAsync" />
 public static IEnumerable <SecurityGroup> ListSecurityGroups(this NetworkingService service, SecurityGroupListOptions options = null)
 {
     return(service.ListSecurityGroupsAsync(options).ForceSynchronous());
 }
예제 #2
0
        /// <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();
 }
예제 #4
0
        /// <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
            });
        }