public CloudAutoscaleWebhooksRootNode(CloudAutoScaleProvider provider, ScalingGroup scalingGroup, Policy policy)
        {
            if (provider == null)
                throw new ArgumentNullException("provider");
            if (scalingGroup == null)
                throw new ArgumentNullException("scalingGroup");
            if (policy == null)
                throw new ArgumentNullException("policy");

            _provider = provider;
            _scalingGroup = scalingGroup;
            _policy = policy;
        }
 private Task<Node> CreatePolicyNodeAsync(Policy policy, CancellationToken cancellationToken)
 {
     return Task.FromResult<Node>(new CloudAutoscalePolicyNode(_provider, _scalingGroup, policy));
 }
            public PolicyProperties(CloudAutoScaleProvider provider, ScalingGroup scalingGroup, Policy policy)
            {
                if (provider == null)
                    throw new ArgumentNullException("provider");
                if (scalingGroup == null)
                    throw new ArgumentNullException("scalingGroup");
                if (policy == null)
                    throw new ArgumentNullException("policy");

                _provider = provider;
                _scalingGroup = scalingGroup;
                _policy = policy;
            }
            public WebhookProperties(CloudAutoScaleProvider provider, ScalingGroup scalingGroup, Policy policy, Webhook webhook)
            {
                if (provider == null)
                    throw new ArgumentNullException("provider");
                if (scalingGroup == null)
                    throw new ArgumentNullException("scalingGroup");
                if (policy == null)
                    throw new ArgumentNullException("policy");
                if (webhook == null)
                    throw new ArgumentNullException("webhook");

                _provider = provider;
                _scalingGroup = scalingGroup;
                _policy = policy;
                _webhook = webhook;
            }