protected override void ProcessRecord()
        {
            string uriString = Filename == null
                ? string.Format("adl://{0}.azuredatalakestore.net?domain={1}&appid={2}&folder={3}&clients={4}", Account,
                                Domain, AppId, Folder, NumClients <= 0? 1 : NumClients)
                : string.Format("adl://{0}.azuredatalakestore.net?domain={1}&appid={2}&folder={3}&file={4}&clients={5}",
                                Account, Domain, AppId, Folder, Filename, NumClients <= 0 ? 1 : NumClients);

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = ClientSecret,
                Description   = Description
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string uriString = WebServiceUrl;

            Uri uri = new Uri(uriString);

            string query = !String.IsNullOrEmpty(Issuer) && !String.IsNullOrEmpty(Audience) ? String.Format("issuer={0}&audience={1}", Issuer, Audience) :
                           !String.IsNullOrEmpty(Issuer) ? String.Format("issuer={0}", Issuer) :
                           !String.IsNullOrEmpty(Audience) ? String.Format("audience={0}", Audience) : null;


            uriString = !String.IsNullOrEmpty(uri.Query) && !String.IsNullOrEmpty(query) ? String.Format("&{0}&{1}", uriString, query) :
                        String.IsNullOrEmpty(uri.Query) && !String.IsNullOrEmpty(query) ? String.Format("?{0}&{1}", uriString, query) :
                        uriString;



            SubscriptionMetadata metadata = new SubscriptionMetadata()
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                TokenType     = this.TokenType,
                Description   = this.Description
            };

            string             url     = String.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string uriString = string.Format("eh://{0}.servicebus.windows.net?hub={1}&keyname={2}&clients={3}", Account,
                                             Hub, KeyName, NumClients <= 0 ? 1 : NumClients);

            if (PartitionId != null)
            {
                uriString = string.Format("{0}&partitionid={1}", uriString, PartitionId);
            }

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = Description
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
示例#4
0
        protected override void ProcessRecord()
        {
            string uriString = TTL.HasValue
                ? string.Format("https://{0}.queue.core.windows.net?queue={1}&ttl={2}", Account, Queue,
                                TTL.Value.ToString())
                : string.Format("https://{0}.queue.core.windows.net?queue={1}", Account, Queue);

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = Description
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string url = null;

            if (string.IsNullOrEmpty(Password))
            {
                throw new ArgumentNullException("Password");
            }

            if (!string.IsNullOrEmpty(Path) && string.IsNullOrEmpty(Store) && string.IsNullOrEmpty(Location) &&
                string.IsNullOrEmpty(Thumbprint))
            {
                url = string.Format(
                    $"{ServiceUrl}/api/serviceidentity/addcertificate?key={Name}&path={Path}&pwd={Password}");
            }
            else if (string.IsNullOrEmpty(Path) && !string.IsNullOrEmpty(Store) && !string.IsNullOrEmpty(Location) &&
                     !string.IsNullOrEmpty(Thumbprint))
            {
                url = string.Format(
                    $"{ServiceUrl}/api/serviceidentity/addcertificate2?key={Name}&store={Store}&location={Location}&thumbprint={Thumbprint}&pwd={Password}");
            }

            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            request.Post();
        }
示例#6
0
        protected override void ProcessRecord()
        {
            string uriString = string.Format("iothub://{0}.azure-devices.net?deviceid={1}", Account, DeviceId);

            if (!string.IsNullOrEmpty(PropertyName))
            {
                uriString = string.Format("{0}&propname={1}&propvalue={1}", uriString, PropertyName, PropertyValue);
            }

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = Description
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
示例#7
0
        protected override void ProcessRecord()
        {
            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                Identity         = Identity,
                Indexes          = Indexes,
                NotifyAddress    = NotifyAddress,
                TokenType        = TokenType,
                SymmetricKey     = SymmetricKey,
                Expires          = Expires,
                TTL              = TTL,
                SpoolRate        = SpoolRate,
                DurableMessaging = DurableMessaging
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
示例#8
0
        protected override void ProcessRecord()
        {
            string uriString;

            if (string.IsNullOrEmpty(Filename))
            {
                uriString = string.Format("https://{0}.blob.core.windows.net?container={1}&blobtype={2}&clients={3}",
                                          Account, Container, BlobType.ToString(), NumClients <= 0 ? 1 : NumClients);
            }
            else
            {
                uriString = string.Format(
                    "https://{0}.blob.core.windows.net?container={1}&blobtype={2}&clients={3}&file={4}", Account,
                    Container, BlobType.ToString(), NumClients <= 0 ? 1 : NumClients, Filename);
            }

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = Description
            };

            string url = string.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl,
                                       ResourceUriString);
            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/psk/SetPskSecret?key={1}&value={2}", ServiceUrl, Identity, Secret);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Post();
        }
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/psk/RemovePskSecret?key={1}", ServiceUrl, Identity);
            RestRequestBuilder builder = new RestRequestBuilder("DELETE", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Delete();
        }
示例#11
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/accesscontrol/upsertaccesscontrolpolicy", this.ServiceUrl);
            RestRequestBuilder builder = new RestRequestBuilder("PUT", url, RestConstants.ContentType.Xml, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Put <AuthorizationPolicy>(Policy);
        }
示例#12
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/accesscontrol/deleteaccesscontrolpolicy?policyuristring={1}", ServiceUrl, PolicyId);
            RestRequestBuilder builder = new RestRequestBuilder("DELETE", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Delete();
        }
示例#13
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/manage?code={1}", this.ServiceUrl, this.Key);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, null);
            RestRequest        request = new RestRequest(builder);

            WriteObject(request.Get <string>());
        }
示例#14
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/resource/DeletePiSystem?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("DELETE", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Delete();
        }
示例#15
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/psk/GetPskSecret?key={1}", ServiceUrl, Identity);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);
            string             value   = request.Get <string>();

            WriteObject(value);
        }
示例#16
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/Subscription/GetSubscriptionMetrics?subscriptionUriString={1}", ServiceUrl, SubscriptionUriString);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            CommunicationMetrics metrics = request.Get <CommunicationMetrics>();

            WriteObject(metrics);
        }
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/resource/getresourcesubscriptionlist?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            IEnumerable <string> list = request.Get <IEnumerable <string> >();

            WriteObject(list);
        }
示例#18
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/resource/getsigmaalgebra", ServiceUrl);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            IEnumerable <string> resourceList = request.Get <IEnumerable <string> >();

            WriteObject(resourceList);
        }
示例#19
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/psk/GetKeys", ServiceUrl);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string[] keys = request.Get <string[]>();

            WriteObject(keys);
        }
示例#20
0
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/accesscontrol/getaccesscontrolpolicy?policyuristring={1}", ServiceUrl, PolicyId);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Xml, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            AuthorizationPolicy policy = request.Get <AuthorizationPolicy>();

            WriteObject(policy);
        }
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/resource/GetPISystemMetadata?ResourceUriString={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);


            EventMetadata metadata = request.Get <EventMetadata>();

            WriteObject(metadata);
        }
        protected override void ProcessRecord()
        {
            string             url     = String.Format("{0}/api/subscription/GetSubscriberSubscriptions?identity={1}", ServiceUrl, Identity);
            RestRequestBuilder builder = new RestRequestBuilder("GET", url, RestConstants.ContentType.Json, true, SecurityToken);
            RestRequest        request = new RestRequest(builder);


            IEnumerable <string> subscriptions = request.Get <IEnumerable <string> >();

            WriteObject(subscriptions);
        }
示例#23
0
        protected override void ProcessRecord()
        {
            List <KeyValuePair <string, string> > kvps = null;

            if (!string.IsNullOrEmpty(IndexKeys) || string.IsNullOrEmpty(IndexValues) ||
                string.IsNullOrEmpty(IndexKeys) || !string.IsNullOrEmpty(IndexValues))
            {
                throw new IndexOutOfRangeException("Index keys and values lengths do not match.");
            }

            if (!string.IsNullOrEmpty(IndexKeys) && !string.IsNullOrEmpty(IndexValues))
            {
                string[] keys   = IndexKeys.Split(";", StringSplitOptions.RemoveEmptyEntries);
                string[] values = IndexValues.Split(";", StringSplitOptions.RemoveEmptyEntries);

                if (keys.Length != values.Length)
                {
                    throw new IndexOutOfRangeException("Index keys and values lengths do not match.");
                }

                kvps = new List <KeyValuePair <string, string> >();
                int index = 0;
                while (index < keys.Length)
                {
                    kvps.Add(new KeyValuePair <string, string>(keys[index], values[index]));
                    index++;
                }
            }

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral           = false,
                SubscriptionUriString = SubscriptionUriString,
                Description           = Description,
                Identity         = Identity,
                Indexes          = kvps,
                NotifyAddress    = NotifyAddress,
                Expires          = Expires,
                TokenType        = TokenType,
                TTL              = TTL,
                SymmetricKey     = SymmetricKey,
                SpoolRate        = SpoolRate,
                DurableMessaging = DurableMessaging,
                ClaimKey         = ClaimKey
            };

            string             url     = string.Format("{0}/api/subscription/upsertsubscriptionmetadata", ServiceUrl);
            RestRequestBuilder builder =
                new RestRequestBuilder("PUT", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            request.Put(metadata);
        }
        protected override void ProcessRecord()
        {
            string url = $"{ServiceUrl}/api/resource/PageSigmaAlgebra";

            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest           request   = new RestRequest(builder);
            ListContinuationToken listToken =
                request.Post <ListContinuationToken, ListContinuationToken>(ContinuationToken);

            WriteObject(listToken);
        }
        protected override void ProcessRecord()
        {
            string[] claimTypes  = ClaimTypes.Split(";", StringSplitOptions.RemoveEmptyEntries);
            string[] claimValues = ClaimValues.Split(";", StringSplitOptions.RemoveEmptyEntries);

            if (claimTypes.Length != claimValues.Length)
            {
                throw new IndexOutOfRangeException("Claim types and values items do not match same length.");
            }
            string             url     = String.Format($"{ServiceUrl}/api/serviceidentity/addclaimtypes?key={Name}&claimtypes={ClaimTypes}&claimvalues={ClaimValues}");
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            request.Post();
        }
        protected override void ProcessRecord()
        {
            string uriString = String.Format("redis://{0}.redis.cache.windows.net", Account);

            if (DatabaseNum >= 0 && Expiry.HasValue)
            {
                uriString = String.Format("{0}?db={1}&expiry={2}", uriString, DatabaseNum, Expiry.ToString());
            }
            else if (DatabaseNum >= 0)
            {
                uriString = String.Format("{0}?db={1}", uriString, DatabaseNum);
            }
            else if (Expiry.HasValue)
            {
                uriString = String.Format("{0}?expiry={1}", uriString, Expiry.ToString());
            }
            else
            {
                //using defauls for database and cached item will never expire
            }

            SubscriptionMetadata metadata = new SubscriptionMetadata()
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                Description   = this.Description,
                SymmetricKey  = SecurityKey
            };

            if (!string.IsNullOrEmpty(ClaimType))
            {
                metadata.ClaimKey = ClaimType.ToLowerInvariant();
            }

            string             url     = String.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string uriString = String.Format("iothub://{0}.azure-devices.net?deviceid={1}&keyname={2}&method={3}", Account, DeviceId, KeyName, Method);

            SubscriptionMetadata metadata = new SubscriptionMetadata()
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = this.Description
            };

            string             url     = String.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string uriString = String.Format("https://{0}.documents.azure.com:443?database={1}&collection={2}&clients={3}", Account, Database, Collection, NumClients <= 0 ? 1 : NumClients);

            SubscriptionMetadata metadata = new SubscriptionMetadata()
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = Key,
                Description   = this.Description
            };

            string             url     = String.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string url = $"{ServiceUrl}/api/resource/subscribe?resourceuristring={ResourceUriString}";

            SubscriptionMetadata metadata = new SubscriptionMetadata
            {
                IsEphemeral   = false,
                NotifyAddress = Endpoint,
                SymmetricKey  = HmacKey,
                Description   = Description
            };

            RestRequestBuilder builder =
                new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }
        protected override void ProcessRecord()
        {
            string uriString = String.Format("eventgrid://{0}?clients={1}", Host, NumClients <= 0 ? 1 : NumClients);


            SubscriptionMetadata metadata = new SubscriptionMetadata()
            {
                IsEphemeral   = false,
                NotifyAddress = uriString,
                SymmetricKey  = TopicKey,
                Description   = this.Description
            };

            string             url     = String.Format("{0}/api/resource/subscribe?resourceuristring={1}", ServiceUrl, ResourceUriString);
            RestRequestBuilder builder = new RestRequestBuilder("POST", url, RestConstants.ContentType.Json, false, SecurityToken);
            RestRequest        request = new RestRequest(builder);

            string subscriptionUriString = request.Post <SubscriptionMetadata, string>(metadata);

            WriteObject(subscriptionUriString);
        }