/// <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); }
/// <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)); }
/// <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; } }
/// <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); }
/// <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; }