/// <summary>
        /// Executes the update configuration policy scenario.
        /// </summary>
        protected override void RunScenario()
        {
            string selectedCustomerId = this.ObtainCustomerId("Enter the Customer Id to update the configuration policy for");

            string selectedConfigurationPolicyId = this.ObtainConfigurationPolicyId("Enter the ID of the Configuration Policy to update");

            ConfigurationPolicy configPolicyToBeUpdated = new ConfigurationPolicy()
            {
                Name           = "Test Config Policy",
                Id             = selectedConfigurationPolicyId,
                PolicySettings = new List <PolicySettingsType>()
                {
                    PolicySettingsType.OobeUserNotLocalAdmin, PolicySettingsType.RemoveOemPreinstalls
                }
            };

            var partnerOperations = this.Context.UserPartnerOperations;

            this.Context.ConsoleHelper.StartProgress("Updating Configuration Policy");

            ConfigurationPolicy updatedConfigurationPolicy = partnerOperations.Customers.ById(selectedCustomerId).ConfigurationPolicies.ById(selectedConfigurationPolicyId).Patch(configPolicyToBeUpdated);

            this.Context.ConsoleHelper.StopProgress();
            this.Context.ConsoleHelper.WriteObject(updatedConfigurationPolicy, "Updated Configuration Policy");
        }
 private void Log(string message, ConfigurationPolicy category, Exception exception)
 {
     if (exception != null)
     {
         message = string.Join("\nException:\n", message, exception);
     }
     T.Logger.Write(message, category.ToString());
 }
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            if (!ShouldProcess(Resources.SetPartnerCustomerConfigurationPolicyWhatIf, PolicyId))
            {
                return;
            }

            List <PolicySettingsType> policySettings = new List <PolicySettingsType>();

            if (OobeUserNotLocalAdmin)
            {
                policySettings.Add(PolicySettingsType.OobeUserNotLocalAdmin);
            }
            if (SkipEula)
            {
                policySettings.Add(PolicySettingsType.SkipEula);
            }
            if (SkipExpressSettings)
            {
                policySettings.Add(PolicySettingsType.SkipExpressSettings);
            }
            if (RemoveOemPreinstalls)
            {
                policySettings.Add(PolicySettingsType.RemoveOemPreinstalls);
            }
            if (SkipOemRegistration)
            {
                policySettings.Add(PolicySettingsType.SkipOemRegistration);
            }

            ConfigurationPolicy configurationPolicy = GetCustomerPolicy(CustomerId, PolicyId);

            if (!string.IsNullOrEmpty(Name))
            {
                configurationPolicy.Name = Name;
            }
            if (!string.IsNullOrEmpty(Description))
            {
                configurationPolicy.Description = Description;
            }
            configurationPolicy.PolicySettings = policySettings;

            ConfigurationPolicy devicePolicy;

            CustomerId.AssertNotEmpty(nameof(CustomerId));

            try
            {
                devicePolicy = Partner.Customers[CustomerId].ConfigurationPolicies[PolicyId].Patch(configurationPolicy);
                WriteObject(new PSConfigurationPolicy(devicePolicy));
            }
            finally
            {
                devicePolicy = null;
            }
        }
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            Scheduler.RunTask(async() =>
            {
                if (ShouldProcess(Resources.SetPartnerCustomerConfigurationPolicyWhatIf, PolicyId))
                {
                    IPartner partner = await PartnerSession.Instance.ClientFactory.CreatePartnerOperationsAsync(CorrelationId, CancellationToken).ConfigureAwait(false);
                    ConfigurationPolicy configurationPolicy   = await partner.Customers[CustomerId].ConfigurationPolicies[PolicyId].GetAsync(CancellationToken).ConfigureAwait(false);
                    List <PolicySettingsTypes> policySettings = new List <PolicySettingsTypes>();

                    if (OobeUserNotLocalAdmin)
                    {
                        policySettings.Add(PolicySettingsTypes.OobeUserNotLocalAdmin);
                    }

                    if (SkipEula)
                    {
                        policySettings.Add(PolicySettingsTypes.SkipEula);
                    }

                    if (SkipExpressSettings)
                    {
                        policySettings.Add(PolicySettingsTypes.SkipExpressSettings);
                    }

                    if (RemoveOemPreinstalls)
                    {
                        policySettings.Add(PolicySettingsTypes.RemoveOemPreinstalls);
                    }

                    if (SkipOemRegistration)
                    {
                        policySettings.Add(PolicySettingsTypes.SkipOemRegistration);
                    }

                    if (!string.IsNullOrEmpty(Name))
                    {
                        configurationPolicy.Name = Name;
                    }

                    if (!string.IsNullOrEmpty(Description))
                    {
                        configurationPolicy.Description = Description;
                    }

                    configurationPolicy.PolicySettings = policySettings;

                    ConfigurationPolicy devicePolicy = await partner.Customers[CustomerId].ConfigurationPolicies[PolicyId].PatchAsync(configurationPolicy, CancellationToken).ConfigureAwait(false);
                    WriteObject(new PSConfigurationPolicy(devicePolicy));
                }
            }, true);
        }
Example #5
0
 /// <summary>
 /// Updates a configuration policy.
 /// </summary>
 /// <param name="entity">Payload of the update request.</param>
 /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
 /// <returns>Updated configuration policy.</returns>
 public async Task <ConfigurationPolicy> PatchAsync(ConfigurationPolicy entity, CancellationToken cancellationToken = default)
 {
     return(await Partner.ServiceClient.PutAsync <ConfigurationPolicy, ConfigurationPolicy>(
                new Uri(
                    string.Format(
                        CultureInfo.InvariantCulture,
                        $"/{PartnerService.Instance.ApiVersion}/{PartnerService.Instance.Configuration.Apis.UpdateConfigurationPolicy.Path}",
                        Context.Item1,
                        Context.Item2),
                    UriKind.Relative),
                entity,
                cancellationToken).ConfigureAwait(false));
 }
Example #6
0
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            if (!ShouldProcess(Resources.NewPartnerCustomerConfigurationPolicyWhatIf))
            {
                return;
            }

            List <PolicySettingsType> policySettings = new List <PolicySettingsType>();

            if (OobeUserNotLocalAdmin)
            {
                policySettings.Add(PolicySettingsType.OobeUserNotLocalAdmin);
            }
            if (SkipEula)
            {
                policySettings.Add(PolicySettingsType.SkipEula);
            }
            if (SkipExpressSettings)
            {
                policySettings.Add(PolicySettingsType.SkipExpressSettings);
            }
            if (RemoveOemPreinstalls)
            {
                policySettings.Add(PolicySettingsType.RemoveOemPreinstalls);
            }
            if (SkipOemRegistration)
            {
                policySettings.Add(PolicySettingsType.SkipOemRegistration);
            }

            ConfigurationPolicy configurationPolicy = new ConfigurationPolicy
            {
                Name           = Name,
                Description    = Description,
                PolicySettings = policySettings
            };

            ConfigurationPolicy devicePolicy;

            CustomerId.AssertNotEmpty(nameof(CustomerId));

            try
            {
                devicePolicy = Partner.Customers[CustomerId].ConfigurationPolicies.Create(configurationPolicy);
                WriteObject(new PSConfigurationPolicy(devicePolicy));
            }
            finally
            {
                devicePolicy = null;
            }
        }
Example #7
0
        /// <summary>
        /// Creates a new configuration policy.
        /// </summary>
        /// <param name="newEntity">The new configuration policy information.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        /// <returns>The policy information that was just created.</returns>
        public async Task <ConfigurationPolicy> CreateAsync(ConfigurationPolicy newEntity, CancellationToken cancellationToken = default)
        {
            newEntity.AssertNotNull(nameof(newEntity));

            return(await Partner.ServiceClient.PostAsync <ConfigurationPolicy, ConfigurationPolicy>(
                       new Uri(
                           string.Format(
                               CultureInfo.InvariantCulture,
                               $"/{PartnerService.Instance.ApiVersion}/{PartnerService.Instance.Configuration.Apis.CreateConfigurationPolicy.Path}",
                               Context),
                           UriKind.Relative),
                       newEntity,
                       cancellationToken).ConfigureAwait(false));
        }
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            ConfigurationPolicy        devicePolicy;
            List <PolicySettingsTypes> policySettings = new List <PolicySettingsTypes>();

            if (!ShouldProcess(Resources.NewPartnerCustomerConfigurationPolicyWhatIf))
            {
                return;
            }

            if (OobeUserNotLocalAdmin)
            {
                policySettings.Add(PolicySettingsTypes.OobeUserNotLocalAdmin);
            }

            if (SkipEula)
            {
                policySettings.Add(PolicySettingsTypes.SkipEula);
            }

            if (SkipExpressSettings)
            {
                policySettings.Add(PolicySettingsTypes.SkipExpressSettings);
            }

            if (RemoveOemPreinstalls)
            {
                policySettings.Add(PolicySettingsTypes.RemoveOemPreinstalls);
            }

            if (SkipOemRegistration)
            {
                policySettings.Add(PolicySettingsTypes.SkipOemRegistration);
            }

            ConfigurationPolicy configurationPolicy = new ConfigurationPolicy
            {
                Name           = Name,
                Description    = Description,
                PolicySettings = policySettings
            };


            devicePolicy = Partner.Customers[CustomerId].ConfigurationPolicies.CreateAsync(configurationPolicy).GetAwaiter().GetResult();
            WriteObject(new PSConfigurationPolicy(devicePolicy));
        }
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            Scheduler.RunTask(async() =>
            {
                IPartner partner = await PartnerSession.Instance.ClientFactory.CreatePartnerOperationsAsync(CorrelationId, CancellationToken).ConfigureAwait(false);

                if (string.IsNullOrEmpty(PolicyId))
                {
                    ResourceCollection <ConfigurationPolicy> policies = await partner.Customers[CustomerId].ConfigurationPolicies.GetAsync(CancellationToken).ConfigureAwait(false);
                    WriteObject(policies.Items.Select(d => new PSConfigurationPolicy(d)), true);
                }
                else
                {
                    ConfigurationPolicy policy = await partner.Customers[CustomerId].ConfigurationPolicies[PolicyId].GetAsync(CancellationToken).ConfigureAwait(false);
                    WriteObject(policy);
                }
            }, true);
        }
        /// <summary>
        /// Executes the create configuration policy scenario.
        /// </summary>
        protected override void RunScenario()
        {
            string selectedCustomerId = this.ObtainCustomerId("Enter the ID of the customer to create the configuration policy for");

            var configurationPolicyToCreate = new ConfigurationPolicy
            {
                Name           = "Test Config Policy",
                Description    = "This configuration policy is created by the SDK samples",
                PolicySettings = new List <PolicySettingsType>()
                {
                    PolicySettingsType.OobeUserNotLocalAdmin, PolicySettingsType.SkipEula
                }
            };
            var partnerOperations = this.Context.UserPartnerOperations;

            this.Context.ConsoleHelper.WriteObject(configurationPolicyToCreate, "New configuration policy Information");
            this.Context.ConsoleHelper.StartProgress("Creating Configuration Policy");

            var createdConfigurationPolicy = partnerOperations.Customers.ById(selectedCustomerId).ConfigurationPolicies.Create(configurationPolicyToCreate);

            this.Context.ConsoleHelper.StopProgress();
            this.Context.ConsoleHelper.Success("Success!");
            this.Context.ConsoleHelper.WriteObject(createdConfigurationPolicy, "Created configuration policy Information");
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="RaygunConfigurator"/> class.
 /// </summary>
 /// <param name="next">
 /// The default configurator to be used.
 /// If the current configurator cannot handle the call it will forward it to the next one.
 /// </param>
 /// <param name="policy">The configuration policy for which the trace listener will be called.</param>
 public RaygunConfigurator(ISitefinityLogCategoryConfigurator next, ConfigurationPolicy policy)
 {
     this.next   = next;
     this.policy = policy;
 }
 /// <summary>
 /// Addtional operations to be performed when cloning an instance of <see cref="ConfigurationPolicy" /> to an instance of <see cref="PSConfigurationPolicy" />.
 /// </summary>
 /// <param name="customer">The customer being cloned.</param>
 private void CloneAdditionalOperations(ConfigurationPolicy configurationPolicy)
 {
     PolicyId = configurationPolicy.Id;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PSConfigurationPolicy" /> class.
 /// </summary>
 /// <param name="configurationPolicy">The base configuration policy for this instance.</param>
 public PSConfigurationPolicy(ConfigurationPolicy configurationPolicy)
 {
     this.CopyFrom(configurationPolicy, CloneAdditionalOperations);
 }
Example #14
0
 /// <summary>
 /// Logs a message.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="configurationPolicy">(Optional) the configuration policy.</param>
 public static void LogMessage(string message, ConfigurationPolicy configurationPolicy = ConfigurationPolicy.Default)
 {
     Log.Write(message, configurationPolicy);
 }
 /// <summary>
 /// Additional operations to be performed when cloning an instance of <see cref="ConfigurationPolicy" /> to an instance of <see cref="PSConfigurationPolicy" />.
 /// </summary>
 /// <param name="item">The item being cloned.</param>
 private void CloneAdditionalOperations(ConfigurationPolicy item)
 {
     PolicyId = item.Id;
 }