protected void WriteSearchService(Azure.Management.Search.Models.SearchService searchService)
 {
     if (searchService != null)
     {
         WriteObject(PSSearchService.Create(searchService));
     }
 }
        public override void ExecuteCmdlet()
        {
            Azure.Management.Search.Models.SearchService searchService = null;

            if (HostingMode == null)
            {
                searchService = new Azure.Management.Search.Models.SearchService(name: Name,
                                                                                 location: Location,
                                                                                 sku: new Sku((SkuName)Sku),
                                                                                 replicaCount: ReplicaCount,
                                                                                 partitionCount: PartitionCount);
            }
            else
            {
                searchService = new Azure.Management.Search.Models.SearchService(name: Name,
                                                                                 location: Location,
                                                                                 sku: new Sku((SkuName)Sku),
                                                                                 replicaCount: ReplicaCount,
                                                                                 partitionCount: PartitionCount,
                                                                                 hostingMode: (HostingMode)HostingMode);
            }

            if (ShouldProcess(Name, Resources.CreateSearchService))
            {
                CatchThrowInnerException(() =>
                {
                    var response = SearchClient.Services.CreateOrUpdateWithHttpMessagesAsync(ResourceGroupName, Name, searchService).Result;
                    WriteSearchService(response.Body);
                });
            }
        }
示例#3
0
        public override void ExecuteCmdlet()
        {
            var networkRuleSet = IPRuleList?.Any() == true ? new PSNetworkRuleSet
            {
                IpRules = IPRuleList
            } : null;

            var identity = IdentityType.HasValue ? new PSIdentity
            {
                Type = IdentityType.Value
            } : null;

            Azure.Management.Search.Models.SearchService searchService =
                new Azure.Management.Search.Models.SearchService(
                    name: Name,
                    location: Location,
                    sku: new Sku((SkuName)Sku),
                    replicaCount: ReplicaCount,
                    partitionCount: PartitionCount,
                    hostingMode: (HostingMode?)HostingMode,
                    publicNetworkAccess: (PublicNetworkAccess?)PublicNetworkAccess,
                    identity: (Identity)identity,
                    networkRuleSet: (NetworkRuleSet)networkRuleSet);

            if (ShouldProcess(Name, Resources.CreateSearchService))
            {
                CatchThrowInnerException(() =>
                {
                    var response = SearchClient.Services.CreateOrUpdateWithHttpMessagesAsync(ResourceGroupName, Name, searchService).Result;
                    WriteSearchService(response.Body);
                });
            }
        }
        public PSSearchService(Azure.Management.Search.Models.SearchService searchService)
        {
            ResourceGroupName = new ResourceIdentifier(searchService.Id).ResourceGroupName;
            Name     = searchService.Name;
            Id       = searchService.Id;
            Location = searchService.Location;

            if (searchService.Sku != null && searchService.Sku.Name != null)
            {
                Sku = (PSSkuName)searchService.Sku.Name;
            }

            ReplicaCount   = searchService.ReplicaCount;
            PartitionCount = searchService.PartitionCount;

            if (searchService.HostingMode != null)
            {
                HostingMode = (PSHostingMode)searchService.HostingMode;
            }

            Tags     = searchService.Tags;
            Status   = (PSSearchServiceStatus)searchService.Status;
            Identity = (PSIdentity)searchService.Identity;

            if (searchService.PublicNetworkAccess != null)
            {
                PublicNetworkAccess = (PSPublicNetworkAccess)searchService.PublicNetworkAccess;
            }

            NetworkRuleSet = new List <PSIpRule>();
            if (searchService.NetworkRuleSet != null)
            {
                NetworkRuleSet = searchService.NetworkRuleSet.IpRules.Select(ipRule => (PSIpRule)ipRule).ToList();
            }

            PrivateEndpointConnections = new List <PSPrivateEndpointConnection>();
            if (searchService.PrivateEndpointConnections != null)
            {
                PrivateEndpointConnections = searchService.PrivateEndpointConnections.Select(pec => (PSPrivateEndpointConnection)pec).ToList();
            }

            SharedPrivateLinkResources = new List <PSSharedPrivateLinkResource>();
            if (searchService.SharedPrivateLinkResources != null)
            {
                SharedPrivateLinkResources = searchService.SharedPrivateLinkResources.Select(splr => (PSSharedPrivateLinkResource)splr).ToList();
            }
        }
示例#5
0
        public PSSearchService(Azure.Management.Search.Models.SearchService searchService)
        {
            ResourceGroupName = new ResourceIdentifier(searchService.Id).ResourceGroupName;
            Name     = searchService.Name;
            Id       = searchService.Id;
            Location = searchService.Location;

            if (searchService.Sku != null && searchService.Sku.Name != null)
            {
                Sku = (PSSkuName)searchService.Sku.Name;
            }

            ReplicaCount   = searchService.ReplicaCount;
            PartitionCount = searchService.PartitionCount;

            if (searchService.HostingMode != null)
            {
                HostingMode = (PSHostingMode)searchService.HostingMode;
            }

            Tags = searchService.Tags;
        }
 public static PSSearchService Create(Azure.Management.Search.Models.SearchService searchService)
 {
     return(new PSSearchService(searchService));
 }