public override void ExecuteCmdlet() { switch (ParameterSetName) { case ParameterSetNames.ResourceGroupLevelResource: break; case ParameterSetNames.ResourceId: Name = AzureIdUtilities.GetResourceName(ResourceId); ResourceGroupName = AzureIdUtilities.GetResourceGroup(ResourceId); break; case ParameterSetNames.InputObject: Name = InputObject.Name; ResourceGroupName = AzureIdUtilities.GetResourceGroup(InputObject.Id); Location = Location ?? InputObject.Location; DisabledDataSource = DisabledDataSource ?? ((List <string>)InputObject.DisabledDataSources).ToArray(); DisplayName = DisplayName ?? InputObject.DisplayName; Export = Export ?? ((List <string>)InputObject.Export).ToArray(); IotHub = IotHub ?? ((List <string>)InputObject.IotHubs).ToArray(); RecommendationsConfiguration = RecommendationsConfiguration ?? ((List <PSRecommendationConfiguration>)InputObject.RecommendationsConfiguration).ToArray(); Enabled = InputObject.Status.ToLower().Equals("enabled"); Tag = Tag ?? new Hashtable((IDictionary)(InputObject.Tags)); UnmaskedIpLoggingStatus = UnmaskedIpLoggingStatus ?? InputObject.UnmaskedIpLoggingStatus; UserDefinedResource = UserDefinedResource ?? InputObject.UserDefinedResources; Workspace = Workspace ?? InputObject.Workspace; break; default: throw new PSInvalidOperationException(); } IoTSecuritySolutionModel solutionModel = new IoTSecuritySolutionModel { Location = Location, DisabledDataSources = DisabledDataSource, DisplayName = DisplayName, Export = Export, IotHubs = IotHub, RecommendationsConfiguration = RecommendationsConfiguration?.CreatePSType(), Status = Enabled? "Enabled" : "Disabled", Tags = Tag?.Cast <DictionaryEntry>().ToDictionary(t => (string)t.Key, t => (string)t.Value), UnmaskedIpLoggingStatus = UnmaskedIpLoggingStatus, UserDefinedResources = UserDefinedResource?.CreatePSType(), Workspace = Workspace }; if (ShouldProcess(Name, VerbsCommon.Set)) { var outputSolution = SecurityCenterClient.IotSecuritySolution.CreateOrUpdateWithHttpMessagesAsync(ResourceGroupName, Name, solutionModel).GetAwaiter().GetResult().Body; WriteObject(outputSolution?.ConvertToPSType(), enumerateCollection: false); } }
public override void ExecuteCmdlet() { var name = Name; var resourceGroupName = ResourceGroupName; switch (ParameterSetName) { case ParameterSetNames.ResourceGroupLevelResource: break; case ParameterSetNames.ResourceId: Name = AzureIdUtilities.GetResourceName(ResourceId); ResourceGroupName = AzureIdUtilities.GetResourceGroup(ResourceId); break; case ParameterSetNames.InputObject: Name = AzureIdUtilities.GetResourceName(InputObject.Id); ResourceGroupName = AzureIdUtilities.GetResourceGroup(InputObject.Id); RecommendationsConfiguration = RecommendationsConfiguration ?? ((List <PSRecommendationConfiguration>)InputObject.RecommendationsConfiguration).ToArray(); Tag = Tag ?? new Hashtable((IDictionary)(InputObject.Tags)); UserDefinedResource = UserDefinedResource ?? GetValidUserDefinedResources(InputObject.UserDefinedResources); break; default: throw new PSInvalidOperationException(); } UpdateIotSecuritySolutionData solutionData = new UpdateIotSecuritySolutionData(Tag?.Cast <DictionaryEntry>().ToDictionary(t => (string)t.Key, t => (string)t.Value), UserDefinedResource?.CreatePSType(), RecommendationsConfiguration?.CreatePSType()); if (ShouldProcess(Name, "Update")) { var outputSolution = SecurityCenterClient.IotSecuritySolution.UpdateWithHttpMessagesAsync(ResourceGroupName, Name, solutionData).GetAwaiter().GetResult().Body; WriteObject(outputSolution?.ConvertToPSType(), enumerateCollection: false); } }