Exemple #1
0
 public override void WriteXmlAttributes(XmlWriter xmlWriter)
 {
     if (SubscriptionId != null)
     {
         xmlWriter.WriteAttributeString(nameof(SubscriptionId), SubscriptionId.ToString());
     }
 }
        void ApplyChanges(MachineResource machine, IEnumerable <EnvironmentResource> environment, MachinePolicyResource machinePolicy, IEnumerable <TenantResource> tenants, ProxyResource proxy)
        {
            machine.EnvironmentIds = new ReferenceCollection(environment.Select(e => e.Id).ToArray());
            machine.TenantIds      = new ReferenceCollection(tenants.Select(t => t.Id).ToArray());
            machine.TenantTags     = new ReferenceCollection(TenantTags);
            machine.Roles          = new ReferenceCollection(Roles);
            machine.Name           = MachineName;
            machine.TenantedDeploymentParticipation = TenantedDeploymentParticipation;

            if (machinePolicy != null)
            {
                machine.MachinePolicyId = machinePolicy.Id;
            }

            if (CommunicationStyle == CommunicationStyle.TentaclePassive)
            {
                var listening = new ListeningTentacleEndpointResource();
                listening.Uri        = new Uri("https://" + TentacleHostname.ToLowerInvariant() + ":" + TentaclePort.ToString(CultureInfo.InvariantCulture) + "/").ToString();
                listening.Thumbprint = TentacleThumbprint;
                listening.ProxyId    = proxy?.Id;
                machine.Endpoint     = listening;
            }
            else if (CommunicationStyle == CommunicationStyle.TentacleActive)
            {
                var polling = new PollingTentacleEndpointResource();
                polling.Uri        = SubscriptionId.ToString();
                polling.Thumbprint = TentacleThumbprint;
                machine.Endpoint   = polling;
            }
        }
    public override string ToString()
    {
        var  sb      = new StringBuilder("SubscriptionState(");
        bool __first = true;

        if (__isset.subscriptionId)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SubscriptionId: ");
            SubscriptionId.ToString(sb);
        }
        if (__isset.ttlMillis)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("TtlMillis: ");
            TtlMillis.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }
        public override void ExecuteCmdlet()
        {
            try
            {
                if (!string.IsNullOrEmpty(SubscriptionId) && ShouldProcess(
                        string.Format(Resource.NewManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName),
                        string.Format(Resource.NewManagementGroupSubShouldProcessAction, SubscriptionId, GroupName)))
                {
                    PreregisterSubscription();
                    PreregisterSubscription(SubscriptionId.ToString());

                    var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.GetSubscription(GroupName, SubscriptionId);

                    WriteObject(new PSManagementGroupSubscription(response));
                }

                else if (ShouldProcess(
                             string.Format(Resource.NewManagementGroupShouldProcessTarget, GroupName),
                             string.Format(Resource.NewManagementGroupShouldProcessAction, GroupName)))
                {
                    PreregisterSubscription();

                    var responses = ManagementGroupsApiClient.ManagementGroupSubscriptions.GetSubscriptionsUnderManagementGroup(GroupName);

                    var items = responses.Select(item => new PSManagementGroupSubscription(item)).ToList();

                    WriteObject(items, true);
                }
            }

            catch (ErrorResponseException ex)
            {
                Utility.HandleErrorResponseException(ex);
            }
        }
    public override string ToString()
    {
        var  sb      = new StringBuilder("FetchSquareChatEventsRequest(");
        bool __first = true;

        if (__isset.subscriptionId)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SubscriptionId: ");
            SubscriptionId.ToString(sb);
        }
        if (SquareChatMid != null && __isset.squareChatMid)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SquareChatMid: ");
            SquareChatMid.ToString(sb);
        }
        if (SyncToken != null && __isset.syncToken)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SyncToken: ");
            SyncToken.ToString(sb);
        }
        if (__isset.limit)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Limit: ");
            Limit.ToString(sb);
        }
        if (__isset.direction)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Direction: ");
            Direction.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }
Exemple #6
0
        private void AnalyzerInternal(bool checkARM = true, bool checkRDFE = true)
        {
            (var arm, var rdfe) = CallARMAndRDFE(checkARM, checkRDFE);
            (var type, var dep) = DetectVMType(arm, rdfe);

            if (dep == null && IsCustomRun == false)
            {
                try
                {
                    var instance = AnalyzeARMResourceURI(SubscriptionId.ToString(), ResourceGroupName, VMName);
                    GlobalInfo.Update(
                        new Guid(instance.Last().ContainerId),
                        new Guid(instance.Last().NodeId),
                        instance.Last().Cluster
                        );

                    if (!string.IsNullOrWhiteSpace(instance.FirstOrDefault().Usage_ResourceGroupName))
                    {
                        this.ResourceGroupName = instance.FirstOrDefault().Usage_ResourceGroupName;
                    }
                    this.VMName = instance.FirstOrDefault().RoleInstanceName;
                }
                catch
                {
                    try
                    {
                        var instance = AnalyzeRDFEResourceURI(SubscriptionId.ToString(), ResourceGroupName, VMName);
                        GlobalInfo.Update(
                            new Guid(instance.Last().ContainerId),
                            new Guid(instance.Last().NodeId),
                            instance.Last().Cluster
                            );
                        this.ResourceGroupName = instance.FirstOrDefault().TenantId;
                        this.VMName            = instance.FirstOrDefault().RoleInstanceName;
                    }
                    catch
                    {
                        SALsA.GetInstance(Id).State = SALsAState.NotFound;
                        throw new Exception("VM not found");
                    }
                }

                (type, dep) = DetectVMType(arm, rdfe);

                if (dep == null && IsCustomRun == false)
                {
                    SALsA.GetInstance(Id).ICM.QueueICMDiscussion(String.Format("Could not find VM: {0} in RG: {1}. This VM might have been already deleted or moved",
                                                                               this.VMName, this.ResourceGroupName));

                    // Lets try to check kusto data
                    SALsA.GetInstance(Id).TaskManager.AddTask(
                        BlobStorageUtility.SaveAndSendBlobTask(Constants.AnalyzerNodeDiagnosticsFilename, GenevaActions.GetNodeDiagnosticsFilesByContainerId(Id, GlobalInfo), Id));
                }
            }
            CallInternalComputeTypes(type, dep);
        }
Exemple #7
0
        private ARMSubscription AnalyzeARMSubscriptionResult(string json)
        {
            var armSubscription = Utility.JsonToObject <ARMSubscriptionRaw>(json);

            if (armSubscription.value == null)
            {
                return(null);
            }
            var armAnalysed = new Dictionary <string, ARMDeployment>();

            foreach (var deployment in armSubscription.value)
            {
                try
                {
                    //"id": "/subscriptions/{sub}/resourceGroups/{rg}/providers/{provider}/{type}/{name}",
                    var id = deployment.id.Split('/');
                    if (!Constants.AnalyszerARMDeploymentTypes.Contains(deployment.type.Split('/')[1]))
                    {
                        continue;
                    }
                    var dep = new ARMDeployment
                    {
                        Subscriptions  = SubscriptionId.ToString(),
                        ResourceGroups = id[4],
                        Location       = Constants.CRPRegions.Where(x => String.Equals(x, deployment.location, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(),
                        Name           = deployment.name.Contains("/") ? deployment.name.Split('/')[0] : deployment.name,
                        Type           = deployment.type.Split('/')[1]
                    };
                    if (String.IsNullOrEmpty(dep.Location))
                    {
                        dep.Location = deployment.location;
                    }
                    if (!armAnalysed.ContainsKey(dep.Name))
                    {
                        armAnalysed[dep.Name] = dep;
                    }
                    if (deployment.type.Split('/').Last() == Constants.AnalyzerARMDeploymentExtensionType)
                    {
                        armAnalysed[dep.Name].Extensions.Add(id.Last());;
                    }
                }
                catch (Exception)
                {
                    Log.Warning("Unable to get or analyse the ARM deployment {0}", deployment);
                    continue;
                }
            }
            var deployments = new ARMSubscription()
            {
                deployments = armAnalysed.Values.Cast <ARMDeployment>().ToList()
            };

            return(deployments);
        }
 public override void WriteXmlAttributes(XmlWriter xmlWriter)
 {
     if (SubscriptionId != null)
     {
         xmlWriter.WriteAttributeString(nameof(SubscriptionId), SubscriptionId.ToString());
     }
     if (StartUtcDateTime != null)
     {
         xmlWriter.WriteAttributeString(nameof(StartUtcDateTime), StartUtcDateTime.Value.ToString("o"));
     }
     if (SynchronisedUptoUtcDateTime != null)
     {
         xmlWriter.WriteAttributeString(nameof(SynchronisedUptoUtcDateTime), SynchronisedUptoUtcDateTime.Value.ToString("o"));
     }
 }
Exemple #9
0
    public override string ToString()
    {
        var  sb      = new StringBuilder("FetchMyEventsRequest(");
        bool __first = true;

        if (__isset.subscriptionId)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SubscriptionId: ");
            SubscriptionId.ToString(sb);
        }
        if (SyncToken != null && __isset.syncToken)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("SyncToken: ");
            SyncToken.ToString(sb);
        }
        if (__isset.limit)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("Limit: ");
            Limit.ToString(sb);
        }
        if (ContinuationToken != null && __isset.continuationToken)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ContinuationToken: ");
            ContinuationToken.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }
Exemple #10
0
 public override void ExecuteCmdlet()
 {
     if (SubscriptionId != default(Guid))
     {
         var response = AzureReservationAPIClient
                        .GetCatalog(SubscriptionId.ToString(), ReservedResourceType, Location)
                        .Select(x => new PSCatalog(x));
         WriteObject(response, true);
     }
     else
     {
         var response = AzureReservationAPIClient
                        .GetCatalog(DefaultContext.Subscription.Id, ReservedResourceType, Location)
                        .Select(x => new PSCatalog(x));
         WriteObject(response, true);
     }
 }
        public IEnumerator <object> GetEnumerator()
        {
            var data = new List <object>
            {
                // 2-tuple with name of subscribed notification and subscription ID. Teoretically it may be used for unsubscribing,
                // but obviously miners won't use it. (http://mining.bitcoin.cz/stratum-mining)
                new List <string>
                {
                    "mining.set_difficulty",
                    SubscriptionId.ToString(CultureInfo.InvariantCulture), // set to miner's id - just a place holder value.
                    "mining.notify",
                    SubscriptionId.ToString(CultureInfo.InvariantCulture)  // set to miner's id - just a place holder value.
                },
                ExtraNonce1,                                               // send the ExtraNonce1
                ExtraNonce2Size,                                           // expected length of extranonce2 which will be generated by the miner
                ExtraMiningInfo
            };

            return(data.GetEnumerator());
        }
Exemple #12
0
        public override void ExecuteCmdlet()
        {
            try
            {
                if (ShouldProcess(
                        string.Format(Resource.NewManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName),
                        string.Format(Resource.NewManagementGroupSubShouldProcessAction, SubscriptionId, GroupName)))
                {
                    PreregisterSubscription();
                    PreregisterSubscription(SubscriptionId.ToString());

                    var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.Create(GroupName, SubscriptionId.ToString());

                    WriteObject(new PSManagementGroupSubscription(response));
                }
            }
            catch (ErrorResponseException ex)
            {
                Utility.HandleErrorResponseException(ex);
            }
        }
Exemple #13
0
        public override void ExecuteCmdlet()
        {
            try
            {
                if (ShouldProcess(
                        string.Format(Resource.RemoveManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName),
                        string.Format(Resource.RemoveManagementGroupSubShouldProcessAction, SubscriptionId, GroupName)))
                {
                    PreregisterSubscription();
                    PreregisterSubscription(SubscriptionId.ToString());

                    ManagementGroupsApiClient.ManagementGroupSubscriptions.Delete(GroupName, SubscriptionId.ToString());

                    if (PassThru.IsPresent)
                    {
                        WriteObject(true);
                    }
                }
            }
            catch (ErrorResponseException ex)
            {
                Utility.HandleErrorResponseException(ex);
            }
        }
 /// <summary>
 /// Serializes the state of this cmdlet to a <see cref="Microsoft.Azure.AzConfig.Runtime.Json.JsonNode" /> object.
 /// </summary>
 /// <param name="container">The <see cref="Microsoft.Azure.AzConfig.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller
 /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
 /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Azure.AzConfig.Runtime.SerializationMode"/>.</param>
 /// <returns>
 /// a serialized instance of <see cref="TestAzOperationNameAvailability_NameAvailabilityNameTypeExpanded" /> as a <see cref="Microsoft.Azure.AzConfig.Runtime.Json.JsonNode"
 /// />.
 /// </returns>
 public Microsoft.Azure.AzConfig.Runtime.Json.JsonNode ToJson(Microsoft.Azure.AzConfig.Runtime.Json.JsonObject container, Microsoft.Azure.AzConfig.Runtime.SerializationMode serializationMode)
 {
     // serialization method
     container = container ?? new Microsoft.Azure.AzConfig.Runtime.Json.JsonObject();
     AddIf(null != (((object)SubscriptionId)?.ToString()) ? (Microsoft.Azure.AzConfig.Runtime.Json.JsonNode) new Microsoft.Azure.AzConfig.Runtime.Json.JsonString(SubscriptionId.ToString()) : null, "SubscriptionId", container.Add);
     AddIf(null != CheckNameAvailabilityParametersBody ? (Microsoft.Azure.AzConfig.Runtime.Json.JsonNode)CheckNameAvailabilityParametersBody.ToJson(null) : null, "CheckNameAvailabilityParametersBody", container.Add);
     return(container);
 }
Exemple #15
0
        private void Subscribe(object state)
        {
            AuditingNotificationSubscriber.log.Debug((object)"Subscribing auditing indications..");
            try
            {
                AuditingNotificationSubscriber.DeleteOldSubscriptions();
            }
            catch (Exception ex)
            {
                AuditingNotificationSubscriber.log.Warn((object)"Exception deleting old subscriptions:", ex);
            }
            HashSet <string> stringSet = new HashSet <string>((IEqualityComparer <string>)StringComparer.OrdinalIgnoreCase);

            using (IEnumerator <IAuditing2> enumerator = this.auditingPlugins.AuditingInstances.GetEnumerator())
            {
                while (((IEnumerator)enumerator).MoveNext())
                {
                    IAuditing2 current = enumerator.Current;
                    if (current is IAuditingMultiSubscription multiSubscription)
                    {
                        foreach (string subscriptionQuery in multiSubscription.GetSubscriptionQueries())
                        {
                            stringSet.Add(subscriptionQuery);
                        }
                    }
                    else
                    {
                        stringSet.Add(current.GetSubscriptionQuery());
                    }
                }
            }
            foreach (string query in stringSet)
            {
                try
                {
                    SubscriptionId subscriptionId;
                    ((SubscriptionId) ref subscriptionId).\u002Ector("Core", typeof(AuditingNotificationSubscriber).FullName + "." + this.GetHashFromQuery(query), (Scope)0);
                    SubscriberConfiguration subscriberConfiguration1 = new SubscriberConfiguration();
                    subscriberConfiguration1.set_SubscriptionQuery(query);
                    SubscriberConfiguration subscriberConfiguration2 = subscriberConfiguration1;
                    AuditingNotificationSubscriber.log.DebugFormat("Subscribing '{0}'", (object)query);
                    SubscriptionId id     = this.subscriptionManager.Subscribe(subscriptionId, (ISubscriber)this, subscriberConfiguration2).get_Id();
                    string         query1 = query;
                    this.subscriptionIdToAuditingInstances.TryAdd(id.ToString(), ((IEnumerable <IAuditing2>) this.auditingPlugins.AuditingInstances).Where <IAuditing2>((Func <IAuditing2, bool>)(instance =>
                    {
                        try
                        {
                            return(string.Compare(query1, instance.GetSubscriptionQuery(), StringComparison.OrdinalIgnoreCase) == 0);
                        }
                        catch (NotImplementedException ex)
                        {
                            return(instance is IAuditingMultiSubscription multiSubscription && ((IEnumerable <string>)multiSubscription.GetSubscriptionQueries()).Contains <string>(query1));
                        }
                    })));
                    AuditingNotificationSubscriber.log.DebugFormat("Subscribed '{0}' with {1} number of auditing instances.", (object)query, (object)this.subscriptionIdToAuditingInstances[id.ToString()].Count <IAuditing2>());
                }
                catch (Exception ex)
                {
                    AuditingNotificationSubscriber.log.ErrorFormat("Unable to subscribe auditing instance with query '{0}'. {1}", (object)query, (object)ex);
                }
            }
            AuditingNotificationSubscriber.log.InfoFormat("Auditing pub/sub subscription succeeded.", Array.Empty <object>());
            Scheduler.get_Instance().Remove("AuditingIndications");
        }
 /// <summary>
 /// Serializes the state of this cmdlet to a <see cref="Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode" /> object.
 /// </summary>
 /// <param name="container">The <see cref="Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonObject"/> container to serialize this object into. If the caller
 /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
 /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.SerializationMode"/>.</param>
 /// <returns>
 /// a serialized instance of <see cref="UpdateAzConfigurationStore_SubscriptionIdResourceGroupNameConfigStoreNamePropertiesTagsExpandedEtc"
 /// /> as a <see cref="Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode" />.
 /// </returns>
 public Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode ToJson(Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonObject container, Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.SerializationMode serializationMode)
 {
     // serialization method
     container = container ?? new Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonObject();
     AddIf(null != (((object)SubscriptionId)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonString(SubscriptionId.ToString()) : null, "SubscriptionId", container.Add);
     AddIf(null != (((object)ResourceGroupName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonString(ResourceGroupName.ToString()) : null, "ResourceGroupName", container.Add);
     AddIf(null != (((object)ConfigStoreName)?.ToString()) ? (Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode) new Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonString(ConfigStoreName.ToString()) : null, "ConfigStoreName", container.Add);
     AddIf(null != ConfigStoreUpdateParametersBody ? (Microsoft.Azure.PowerShell.Cmdlets.AppConfiguration.Runtime.Json.JsonNode)ConfigStoreUpdateParametersBody.ToJson(null) : null, "ConfigStoreUpdateParametersBody", container.Add);
     return(container);
 }