Exemple #1
0
        public SavePostureConstraintResponse SavePostureConstraint(SavePostureConstraintRequest request)
        {
            try
            {
                var postureConstraint = request.MapTo <PostureConstraint>();

                if (request.Id == 0)
                {
                    var posture = new Posture {
                        Id = request.PostureId
                    };
                    DataContext.Postures.Attach(posture);
                    postureConstraint.Posture = posture;
                    foreach (var id in request.RelationIds)
                    {
                        var desiredState = new DesiredState {
                            Id = id
                        };
                        DataContext.DesiredStates.Attach(desiredState);
                        postureConstraint.DesiredStates.Add(desiredState);
                    }
                    DataContext.PostureConstraints.Add(postureConstraint);
                }
                else
                {
                    postureConstraint = DataContext.PostureConstraints.Include(x => x.DesiredStates).First(x => x.Id == request.Id);
                    request.MapPropertiesToInstance <PostureConstraint>(postureConstraint);
                    postureConstraint.DesiredStates = new List <DesiredState>();
                    foreach (var id in request.RelationIds)
                    {
                        var desiredState = DataContext.DesiredStates.Local.FirstOrDefault(x => x.Id == id);
                        if (desiredState == null)
                        {
                            desiredState = new DesiredState {
                                Id = id
                            };
                            DataContext.DesiredStates.Attach(desiredState);
                        }
                        postureConstraint.DesiredStates.Add(desiredState);
                    }
                }
                DataContext.SaveChanges();
                return(new SavePostureConstraintResponse
                {
                    IsSuccess = true,
                    Message = "The item has been saved successfully",
                    Id = postureConstraint.Id,
                    Definition = postureConstraint.Definition,
                    RelationIds = postureConstraint.DesiredStates.Select(x => x.Id).ToArray()
                });
            }
            catch
            {
                return(new SavePostureConstraintResponse
                {
                    IsSuccess = false,
                    Message = "An error occured, please contact the administrator for further information"
                });
            }
        }
        public async Task <ResourceRoot> AddResourceAsync(DesiredState desiredState, CancellationToken cancellationToken = default)
        {
            var resource = _resourceRepository.Add(new ResourceRoot(desiredState));

            await _resourceRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(resource);
        }
        public async Task <EnvironmentRoot> AddEnvironmentAsync(DesiredState desiredState, CancellationToken cancellationToken = default)
        {
            var environment = _environmentRepository.Add(new EnvironmentRoot(desiredState));

            await _environmentRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(environment);
        }
 private void WaitForInstances(AwsClientDetails clientDetails)
 {
     using (var helper = new EC2Helper(clientDetails))
     {
         helper.WaitForInstances(InstanceIds, DesiredState.ToLower(), TimeOutSeconds, PollIntervalSeconds);
         Log.LogMessage(MessageImportance.Normal, "All Instances {0} in the state {1}", Join(InstanceIds), DesiredState);
     }
 }
        public async Task <IEnumerable <IAggregateRoot> > GetAggregatesByState(DesiredState desiredState)
        {
            var resources = await _resourceRepository.GetAsync(o => o.DesiredState.Equals(desiredState));

            var environments = await _resourceRepository.GetAsync(o => o.DesiredState.Equals(desiredState));

            return(resources.Cast <IAggregateRoot>().Concat(environments));
        }
Exemple #6
0
        public async Task ApplyDesiredStateAsync(
            Guid environmentId,
            DesiredState desiredState,
            CancellationToken cancellationToken = default)
        {
            var request  = new ApplyDesiredStateRequest(environmentId, desiredState);
            var response = await SendAsync(request, cancellationToken);

            response.EnsureSuccessStatusCode();
        }
        public async Task <ResourceRoot> UpdateResourceAsync(Guid resourceId, DesiredState desiredState, CancellationToken cancellationToken = default)
        {
            var resource = await GetResourceByIdAsync(resourceId);

            resource.SetDesiredState(desiredState);

            _resourceRepository.Update(resource);

            await _resourceRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(resource);
        }
Exemple #8
0
 public AppDesiredState(string packageFamilyName, DesiredState state, string version, StartupState startUp, string appxSource, string dep0Source, string dep1Source, string certificateSource, string certificateTarget)
 {
     PackageFamilyName = packageFamilyName;
     State             = state;
     Version           = version;
     StartUp           = startUp;
     AppxSource        = appxSource;
     Dep0Source        = dep0Source;
     Dep1Source        = dep1Source;
     CertificateSource = certificateSource;
     CertificateTarget = certificateTarget;
 }
Exemple #9
0
        public Factorial(int i)
        //throws Exception
        {
            trace = new Trace("fact_trace");

            _fact = new FactorialType(i);
            EqualsOneRange      defaultRange = new EqualsOneRange();
            GreaterThanOneRange multRange    = new GreaterThanOneRange();
            LessThanOneRange    fRange       = new LessThanOneRange();
            EqualsTwoRange      desiredRange = new EqualsTwoRange();

            _multiply   = new MultiplyAction(_fact);
            _initialize = new InitializeAction(_fact);
            _multiply.SetTrace(trace);
            _initialize.SetTrace(trace);
            _multiply.SetId("multiply");
            _initialize.SetId("initialize");

            _mult = new State(_multiply, true);
            _def  = new State(_initialize);
            _mult.SetId("mult");
            _def.SetId("default");
            _forbidden = new ForbiddenState();
            _desired   = new DesiredState();
            _forbidden.SetId("f1");
            _desired.SetId("d1");
            _mult.SetTrace(trace);
            _def.SetTrace(trace);
            _forbidden.SetTrace(trace);
            _desired.SetTrace(trace);

            _fact.AddRange(_mult, multRange);
            _fact.AddRange(_def, defaultRange);
            _fact.AddRange(_forbidden, fRange);
            _fact.AddRange(_desired, desiredRange);

            _behavior = new FactorialBehavior(_fact);
            _behavior.Add(_mult);
            _behavior.Add(_def);
            this.Add(_behavior);
            Element.SetWarnOnErrroneousAction(true);

            State s = _fact.CurrentState();

            if (HasTrace())
            {
                _trace.AddTrace(s);
            }
        }
Exemple #10
0
        private async Task When_a_environment_is_requested()
        {
            var provider = _services.BuildServiceProvider();

            var provisioningBroker = provider.GetRequiredService <IProvisioningBroker>();


            var environmentDesiredState = new DesiredState(
                name: "environment",
                apiVersion: "1",
                labels: null,
                properties: new[]
            {
                new Property("name", "production"), new Property("capability.RootId", "operateports-zekzl"),
            }
                );
            var createEnvironmentCommand = new CreateEnvironmentCommand(environmentDesiredState);
            var result = await provisioningBroker.Handle(createEnvironmentCommand);
        }
Exemple #11
0
 public DeleteDesiredStateResponse DeleteDesiredState(DeleteDesiredStateRequest request)
 {
     try
     {
         var desiredStae = new DesiredState {
             Id = request.Id
         };
         DataContext.DesiredStates.Attach(desiredStae);
         DataContext.DesiredStates.Remove(desiredStae);
         DataContext.SaveChanges();
         return(new DeleteDesiredStateResponse
         {
             IsSuccess = true,
             Message = "The item has been deleted successfully",
         });
     }
     catch {
         return(new DeleteDesiredStateResponse
         {
             IsSuccess = false,
             Message = "An error occured, please contact the administrator for further information"
         });
     }
 }
Exemple #12
0
 public ResourceRoot(DesiredState desiredState) : base()
 {
     DesiredState = desiredState;
 }
        private async Task Given_a_json_payload()
        {
            var jsonPayload = "{\"Name\":null,\"ApiVersion\":null,\"Labels\":null,\"Properties\":null}";

            _payload = JsonSerializer.Deserialize <DesiredState>(jsonPayload);
        }
        public ResourceRoot(DesiredState desiredState) : base()
        {
            DesiredState = desiredState;

            AddDomainEvent(new ResourceInitializingEvent(this));
        }
 public void SetDesiredState(DesiredState desiredState)
 {
     DesiredState = desiredState;
 }
Exemple #16
0
 public CreateEnvironmentCommand(DesiredState desiredState)
 {
     DesiredState = desiredState;
 }
 public CreateEnvironmentCommand(DesiredState desiredState)
 {
     DesiredState = desiredState ?? throw new ArgumentNullException(nameof(desiredState));
 }
 public EnvironmentRoot(DesiredState desiredState) : this()
 {
     SetDesiredState(desiredState);
 }
Exemple #19
0
 public void ClearDesiredState()
 {
     DesiredState.ClearState();
 }
Exemple #20
0
 public void ApplyDesiredState(DeviceContext dc, ParameterManager paramManager)
 {
     OnApplyDesiredState(dc, paramManager);
     DesiredState.ResetTracking();
     CurrentState.Clone(DesiredState);
 }
        public void SetDesiredState(DesiredState desiredState)
        {
            DesiredState = desiredState;

            Initialize();
        }
 public void SetState(DesiredState state, long timestamp)
 {
     currentStates[state.laneID] = new Tuple <DesiredState, long>(state, timestamp);
 }
        public async Task <EnvironmentRoot> UpdateEnvironmentAsync(Guid environmentId, DesiredState desiredState, CancellationToken cancellationToken = default)
        {
            var environment = await GetEnvironmentByIdAsync(environmentId);

            environment.SetDesiredState(desiredState);

            _environmentRepository.Update(environment);

            await _environmentRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(environment);
        }
Exemple #24
0
 internal PnpReported(object value, DesiredState desiredState)
 {
     Value        = value;
     DesiredState = desiredState;
 }
        public EnvironmentRoot(DesiredState desiredState) : this()
        {
            DesiredState = desiredState;

            AddDomainEvent(new EnvironmentCreatedEvent(this));
        }
Exemple #26
0
        public DieHard(int big, int small)
        {
            trace = new Trace("fact_trace");

            _jugs = new JugType(big, small);
            EmptyBigEmptySmallRange     emptyBigEmptySmallRange     = new EmptyBigEmptySmallRange();
            FullBigFullSmallRange       fullBigFullSmallRange       = new FullBigFullSmallRange();
            FullBigEmptySmallRange      fullBigEmptySmallRange      = new FullBigEmptySmallRange();
            EmptyBigFullSmallRange      emptyBigFullSmallRange      = new EmptyBigFullSmallRange();
            PartialBigEmptySmallRange   partialBigEmptySmallRange   = new PartialBigEmptySmallRange();
            PartialBigFullSmallRange    partialBigFullSmallRange    = new PartialBigFullSmallRange();
            FullBigPartialSmallRange    fullBigPartialSmallRange    = new FullBigPartialSmallRange();
            EmptyBigPartialSmallRange   emptyBigPartialSmallRange   = new EmptyBigPartialSmallRange();
            PartialBigPartialSmallRange partialBigPartialSmallRange = new PartialBigPartialSmallRange();

            _fillBig    = new FillBigAction(_jugs);
            _fillSmall  = new FillSmallAction(_jugs);
            _emptyBig   = new EmptyBigAction(_jugs);
            _emptySmall = new EmptySmallAction(_jugs);
            _big2Small  = new Big2SmallAction(_jugs);
            _small2Big  = new Small2BigAction(_jugs);

            _fillBig.SetTrace(trace);
            _fillSmall.SetTrace(trace);
            _emptyBig.SetTrace(trace);
            _emptySmall.SetTrace(trace);
            _big2Small.SetTrace(trace);
            _small2Big.SetTrace(trace);

            _fillBig.SetId("fillBig");
            _fillSmall.SetId("fillSmall");
            _emptyBig.SetId("emptyBig");
            _emptySmall.SetId("emptySmall");
            _big2Small.SetId("big2Small");
            _small2Big.SetId("small2Big");

            _emptyBigEmptySmall     = new State(_fillBig);
            _fullBigFullSmall       = new State(_emptyBig);
            _fullBigEmptySmall      = new State(_big2Small);
            _emptyBigFullSmall      = new State(_small2Big);
            _partialBigEmptySmall   = new State(_big2Small);
            _partialBigFullSmall    = new State(_emptySmall);
            _fullBigPartialSmall    = new State(_big2Small);
            _emptyBigPartialSmall   = new State(_small2Big);
            _partialBigPartialSmall = new State(_big2Small);

            _forbidden = new ForbiddenState();
            _desired   = new DesiredState();
            _forbidden.SetId("f1");
            _desired.SetId("d1");
            _emptyBigEmptySmall.SetTrace(trace).SetId("emptyBigEmptySmall");
            _emptyBigEmptySmall.Add(_fillSmall);
            _fullBigFullSmall.SetTrace(trace).SetId("fullBigFullSmall");
            _fullBigEmptySmall.SetTrace(trace).SetId("fullBigEmptySmall");
            _fullBigEmptySmall.Add(_fillSmall);
            _emptyBigFullSmall.SetTrace(trace).SetId("emptyBigFullSmall");
            _emptyBigFullSmall.Add(_emptySmall);
            _partialBigEmptySmall.SetTrace(trace).SetId("partialBigEmptySmall");
            _partialBigEmptySmall.Add(_emptyBig);
            _partialBigFullSmall.SetTrace(trace).SetId("partialBigFullSmall");
            _partialBigFullSmall.Add(_emptyBig);
            _fullBigPartialSmall.SetTrace(trace).SetId("fullBigPartialSmall");
            _emptyBigPartialSmall.SetTrace(trace).SetId("emptyBigPartialSmall");
            _emptyBigPartialSmall.Add(_fillBig);
            _partialBigPartialSmall.SetTrace(trace).SetId("partialBigPartialSmall");
            _forbidden.SetTrace(trace);
            _desired.SetTrace(trace);

            _jugs.AddRange(_emptyBigEmptySmall, emptyBigEmptySmallRange);
            _jugs.AddRange(_fullBigFullSmall, fullBigFullSmallRange);
            _jugs.AddRange(_fullBigEmptySmall, fullBigEmptySmallRange);
            _jugs.AddRange(_emptyBigFullSmall, emptyBigFullSmallRange);
            _jugs.AddRange(_partialBigEmptySmall, partialBigEmptySmallRange);
            _jugs.AddRange(_partialBigFullSmall, partialBigFullSmallRange);
            _jugs.AddRange(_fullBigPartialSmall, fullBigPartialSmallRange);
            _jugs.AddRange(_emptyBigPartialSmall, emptyBigPartialSmallRange);
            _jugs.AddRange(_partialBigPartialSmall, partialBigPartialSmallRange);
            DesiredRange desiredRange = new DesiredRange();

            _jugs.AddRange(_desired, desiredRange);

            _behavior = new JugBehavior(_jugs);
            _behavior.Add(_emptyBigEmptySmall);
            _behavior.Add(_fullBigFullSmall);
            _behavior.Add(_partialBigEmptySmall);
            _behavior.Add(_partialBigFullSmall);
            _behavior.Add(_fullBigPartialSmall);
            _behavior.Add(_emptyBigPartialSmall);
            _behavior.Add(_partialBigPartialSmall);
        }