Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PolicyState" /> class.
        /// </summary>
        /// <param name="policyState">Policy state.</param>
        public PolicyState(Management.PolicyInsights.Models.PolicyState policyState)
        {
            if (null == policyState)
            {
                return;
            }

            this.AdditionalProperties = policyState.AdditionalProperties ?? new Dictionary <string, object>();
            this.AdditionalProperties.Remove("@odata.id");

            this.Timestamp                     = policyState.Timestamp;
            this.ResourceId                    = policyState.ResourceId;
            this.PolicyAssignmentId            = policyState.PolicyAssignmentId;
            this.PolicyDefinitionId            = policyState.PolicyDefinitionId;
            this.EffectiveParameters           = policyState.EffectiveParameters;
            this.IsCompliant                   = policyState.IsCompliant;
            this.SubscriptionId                = policyState.SubscriptionId;
            this.ResourceType                  = policyState.ResourceType;
            this.ResourceLocation              = policyState.ResourceLocation;
            this.ResourceGroup                 = policyState.ResourceGroup;
            this.ResourceTags                  = policyState.ResourceTags;
            this.PolicyAssignmentName          = policyState.PolicyAssignmentName;
            this.PolicyAssignmentOwner         = policyState.PolicyAssignmentOwner;
            this.PolicyAssignmentParameters    = policyState.PolicyAssignmentParameters;
            this.PolicyAssignmentScope         = policyState.PolicyAssignmentScope;
            this.PolicyDefinitionName          = policyState.PolicyDefinitionName;
            this.PolicyDefinitionAction        = policyState.PolicyDefinitionAction;
            this.PolicyDefinitionCategory      = policyState.PolicyDefinitionCategory;
            this.PolicySetDefinitionId         = policyState.PolicySetDefinitionId;
            this.PolicySetDefinitionName       = policyState.PolicySetDefinitionName;
            this.PolicySetDefinitionOwner      = policyState.PolicySetDefinitionOwner;
            this.PolicySetDefinitionCategory   = policyState.PolicySetDefinitionCategory;
            this.PolicySetDefinitionParameters = policyState.PolicySetDefinitionParameters;
            this.ManagementGroupIds            = policyState.ManagementGroupIds;
            this.PolicyDefinitionReferenceId   = policyState.PolicyDefinitionReferenceId;
            this.ComplianceState               = policyState.ComplianceState;
            this.PolicyDefinitionVersion       = policyState.PolicyDefinitionVersion;
            this.PolicySetDefinitionVersion    = policyState.PolicySetDefinitionVersion;
            this.PolicyAssignmentVersion       = policyState.PolicyAssignmentVersion;

            if (policyState.PolicyEvaluationDetails != null)
            {
                this.PolicyEvaluationDetails = new PolicyEvaluationDetails(policyState.PolicyEvaluationDetails);
            }

            this.PolicyDefinitionGroupNames = policyState.PolicyDefinitionGroupNames?.ToList();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PolicyState" /> class.
        /// </summary>
        /// <param name="policyState">Policy state.</param>
        public PolicyState(Management.PolicyInsights.Models.PolicyState policyState)
        {
            if (null == policyState)
            {
                return;
            }

            this.AdditionalProperties = policyState.AdditionalProperties;
            this.AdditionalProperties.Remove("@odata.id");

            this.Timestamp                     = policyState.Timestamp;
            this.ResourceId                    = policyState.ResourceId;
            this.PolicyAssignmentId            = policyState.PolicyAssignmentId;
            this.PolicyDefinitionId            = policyState.PolicyDefinitionId;
            this.EffectiveParameters           = policyState.EffectiveParameters;
            this.IsCompliant                   = policyState.IsCompliant;
            this.SubscriptionId                = policyState.SubscriptionId;
            this.ResourceType                  = policyState.ResourceType;
            this.ResourceLocation              = policyState.ResourceLocation;
            this.ResourceGroup                 = policyState.ResourceGroup;
            this.ResourceTags                  = policyState.ResourceTags;
            this.PolicyAssignmentName          = policyState.PolicyAssignmentName;
            this.PolicyAssignmentOwner         = policyState.PolicyAssignmentOwner;
            this.PolicyAssignmentParameters    = policyState.PolicyAssignmentParameters;
            this.PolicyAssignmentScope         = policyState.PolicyAssignmentScope;
            this.PolicyDefinitionName          = policyState.PolicyDefinitionName;
            this.PolicyDefinitionAction        = policyState.PolicyDefinitionAction;
            this.PolicyDefinitionCategory      = policyState.PolicyDefinitionCategory;
            this.PolicySetDefinitionId         = policyState.PolicySetDefinitionId;
            this.PolicySetDefinitionName       = policyState.PolicySetDefinitionName;
            this.PolicySetDefinitionOwner      = policyState.PolicySetDefinitionOwner;
            this.PolicySetDefinitionCategory   = policyState.PolicySetDefinitionCategory;
            this.PolicySetDefinitionParameters = policyState.PolicySetDefinitionParameters;
            this.ManagementGroupIds            = policyState.ManagementGroupIds;
            this.PolicyDefinitionReferenceId   = policyState.PolicyDefinitionReferenceId;
        }