1package policyinsights 2 3// Copyright (c) Microsoft and contributors. All rights reserved. 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// 14// See the License for the specific language governing permissions and 15// limitations under the License. 16// 17// Code generated by Microsoft (R) AutoRest Code Generator. 18// Changes may cause incorrect behavior and will be lost if the code is regenerated. 19 20import ( 21 "encoding/json" 22 "github.com/Azure/go-autorest/autorest" 23) 24 25// The package's fully qualified name. 26const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/policyinsights/mgmt/2017-08-09-preview/policyinsights" 27 28// PolicyStatesResource enumerates the values for policy states resource. 29type PolicyStatesResource string 30 31const ( 32 // Default ... 33 Default PolicyStatesResource = "default" 34 // Latest ... 35 Latest PolicyStatesResource = "latest" 36) 37 38// PossiblePolicyStatesResourceValues returns an array of possible values for the PolicyStatesResource const type. 39func PossiblePolicyStatesResourceValues() []PolicyStatesResource { 40 return []PolicyStatesResource{Default, Latest} 41} 42 43// Column column definition. 44type Column struct { 45 // Ordinal - Ordinal value of the column in a record. 46 Ordinal *int32 `json:"ordinal,omitempty"` 47 // Name - Name of the column. 48 Name *string `json:"name,omitempty"` 49 // DataType - Data type of the column. 50 DataType *string `json:"dataType,omitempty"` 51} 52 53// Operation operation definition. 54type Operation struct { 55 // Name - Operation name. 56 Name *string `json:"name,omitempty"` 57 // Display - Display metadata associated with the operation. 58 Display *OperationDisplay `json:"display,omitempty"` 59} 60 61// OperationDisplay display metadata associated with the operation. 62type OperationDisplay struct { 63 // Provider - Resource provider name. 64 Provider *string `json:"provider,omitempty"` 65 // Resource - Resource name on which the operation is performed. 66 Resource *string `json:"resource,omitempty"` 67 // Operation - Operation name. 68 Operation *string `json:"operation,omitempty"` 69 // Description - Operation description. 70 Description *string `json:"description,omitempty"` 71} 72 73// OperationsListResults list of available operations. 74type OperationsListResults struct { 75 autorest.Response `json:"-"` 76 // Value - List of available operations. 77 Value *[]Operation `json:"value,omitempty"` 78} 79 80// PolicyEventsQueryResults query results. 81type PolicyEventsQueryResults struct { 82 autorest.Response `json:"-"` 83 // Value - Query results. 84 Value *[]PolicyEventsQueryResultsTable `json:"value,omitempty"` 85} 86 87// PolicyEventsQueryResultsTable query results table. 88type PolicyEventsQueryResultsTable struct { 89 // Metadata - Metadata about the query results. 90 Metadata *PolicyEventsQueryResultsTableMetadata `json:"metadata,omitempty"` 91 // Columns - List of columns included in query results. 92 Columns *PolicyEventsQueryResultsTableColumns `json:"columns,omitempty"` 93 // Rows - Query result rows, each representing a policy event record. 94 Rows *[][]interface{} `json:"rows,omitempty"` 95} 96 97// PolicyEventsQueryResultsTableColumns list of columns included in query results. 98type PolicyEventsQueryResultsTableColumns struct { 99 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 100 AdditionalProperties map[string]interface{} `json:""` 101 // Timestamp - Timestamp for the policy event record. 102 Timestamp *Column `json:"Timestamp,omitempty"` 103 // ResourceID - Resource ID. 104 ResourceID *Column `json:"ResourceId,omitempty"` 105 // PolicyAssignmentID - Policy assignment ID. 106 PolicyAssignmentID *Column `json:"PolicyAssignmentId,omitempty"` 107 // PolicyDefinitionID - Policy definition ID. 108 PolicyDefinitionID *Column `json:"PolicyDefinitionId,omitempty"` 109 // EffectiveParameters - Effective parameters for the policy assignment. 110 EffectiveParameters *Column `json:"EffectiveParameters,omitempty"` 111 // IsCompliant - Flag which states whether the resource is compliant against the policy assignment it was evaluated against. 112 IsCompliant *Column `json:"IsCompliant,omitempty"` 113 // SubscriptionID - Subscription ID. 114 SubscriptionID *Column `json:"SubscriptionId,omitempty"` 115 // ResourceType - Resource type. 116 ResourceType *Column `json:"ResourceType,omitempty"` 117 // ResourceLocation - Resource location. 118 ResourceLocation *Column `json:"ResourceLocation,omitempty"` 119 // ResourceGroup - Resource group name. 120 ResourceGroup *Column `json:"ResourceGroup,omitempty"` 121 // ResourceTags - List of resource tags. 122 ResourceTags *Column `json:"ResourceTags,omitempty"` 123 // PolicyAssignmentName - Policy assignment name. 124 PolicyAssignmentName *Column `json:"PolicyAssignmentName,omitempty"` 125 // PolicyAssignmentOwner - Policy assignment owner. 126 PolicyAssignmentOwner *Column `json:"PolicyAssignmentOwner,omitempty"` 127 // PolicyAssignmentParameters - Policy assignment parameters. 128 PolicyAssignmentParameters *Column `json:"PolicyAssignmentParameters,omitempty"` 129 // PolicyAssignmentScope - Policy assignment scope. 130 PolicyAssignmentScope *Column `json:"PolicyAssignmentScope,omitempty"` 131 // PolicyDefinitionName - Policy definition name. 132 PolicyDefinitionName *Column `json:"PolicyDefinitionName,omitempty"` 133 // PolicyDefinitionAction - Policy definition action, i.e. effect. 134 PolicyDefinitionAction *Column `json:"PolicyDefinitionAction,omitempty"` 135 // PolicyDefinitionCategory - Policy definition category. 136 PolicyDefinitionCategory *Column `json:"PolicyDefinitionCategory,omitempty"` 137 // PolicySetDefinitionID - Policy set definition ID, if the policy assignment is for a policy set. 138 PolicySetDefinitionID *Column `json:"PolicySetDefinitionId,omitempty"` 139 // PolicySetDefinitionName - Policy set definition name, if the policy assignment is for a policy set. 140 PolicySetDefinitionName *Column `json:"PolicySetDefinitionName,omitempty"` 141 // PolicySetDefinitionOwner - Policy set definition owner, if the policy assignment is for a policy set. 142 PolicySetDefinitionOwner *Column `json:"PolicySetDefinitionOwner,omitempty"` 143 // PolicySetDefinitionCategory - Policy set definition category, if the policy assignment is for a policy set. 144 PolicySetDefinitionCategory *Column `json:"PolicySetDefinitionCategory,omitempty"` 145 // PolicySetDefinitionParameters - Policy set definition parameters, if the policy assignment is for a policy set. 146 PolicySetDefinitionParameters *Column `json:"PolicySetDefinitionParameters,omitempty"` 147 // ManagementGroupIds - Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. 148 ManagementGroupIds *Column `json:"ManagementGroupIds,omitempty"` 149 // PolicyDefinitionReferenceID - Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. 150 PolicyDefinitionReferenceID *Column `json:"PolicyDefinitionReferenceId,omitempty"` 151 // TenantID - Tenant ID for the policy event record. 152 TenantID *Column `json:"TenantId,omitempty"` 153 // PrincipalOid - Principal object ID for the user who initiated the resource operation that triggered the policy event. 154 PrincipalOid *Column `json:"PrincipalOid,omitempty"` 155} 156 157// MarshalJSON is the custom marshaler for PolicyEventsQueryResultsTableColumns. 158func (peqrt PolicyEventsQueryResultsTableColumns) MarshalJSON() ([]byte, error) { 159 objectMap := make(map[string]interface{}) 160 if peqrt.Timestamp != nil { 161 objectMap["Timestamp"] = peqrt.Timestamp 162 } 163 if peqrt.ResourceID != nil { 164 objectMap["ResourceId"] = peqrt.ResourceID 165 } 166 if peqrt.PolicyAssignmentID != nil { 167 objectMap["PolicyAssignmentId"] = peqrt.PolicyAssignmentID 168 } 169 if peqrt.PolicyDefinitionID != nil { 170 objectMap["PolicyDefinitionId"] = peqrt.PolicyDefinitionID 171 } 172 if peqrt.EffectiveParameters != nil { 173 objectMap["EffectiveParameters"] = peqrt.EffectiveParameters 174 } 175 if peqrt.IsCompliant != nil { 176 objectMap["IsCompliant"] = peqrt.IsCompliant 177 } 178 if peqrt.SubscriptionID != nil { 179 objectMap["SubscriptionId"] = peqrt.SubscriptionID 180 } 181 if peqrt.ResourceType != nil { 182 objectMap["ResourceType"] = peqrt.ResourceType 183 } 184 if peqrt.ResourceLocation != nil { 185 objectMap["ResourceLocation"] = peqrt.ResourceLocation 186 } 187 if peqrt.ResourceGroup != nil { 188 objectMap["ResourceGroup"] = peqrt.ResourceGroup 189 } 190 if peqrt.ResourceTags != nil { 191 objectMap["ResourceTags"] = peqrt.ResourceTags 192 } 193 if peqrt.PolicyAssignmentName != nil { 194 objectMap["PolicyAssignmentName"] = peqrt.PolicyAssignmentName 195 } 196 if peqrt.PolicyAssignmentOwner != nil { 197 objectMap["PolicyAssignmentOwner"] = peqrt.PolicyAssignmentOwner 198 } 199 if peqrt.PolicyAssignmentParameters != nil { 200 objectMap["PolicyAssignmentParameters"] = peqrt.PolicyAssignmentParameters 201 } 202 if peqrt.PolicyAssignmentScope != nil { 203 objectMap["PolicyAssignmentScope"] = peqrt.PolicyAssignmentScope 204 } 205 if peqrt.PolicyDefinitionName != nil { 206 objectMap["PolicyDefinitionName"] = peqrt.PolicyDefinitionName 207 } 208 if peqrt.PolicyDefinitionAction != nil { 209 objectMap["PolicyDefinitionAction"] = peqrt.PolicyDefinitionAction 210 } 211 if peqrt.PolicyDefinitionCategory != nil { 212 objectMap["PolicyDefinitionCategory"] = peqrt.PolicyDefinitionCategory 213 } 214 if peqrt.PolicySetDefinitionID != nil { 215 objectMap["PolicySetDefinitionId"] = peqrt.PolicySetDefinitionID 216 } 217 if peqrt.PolicySetDefinitionName != nil { 218 objectMap["PolicySetDefinitionName"] = peqrt.PolicySetDefinitionName 219 } 220 if peqrt.PolicySetDefinitionOwner != nil { 221 objectMap["PolicySetDefinitionOwner"] = peqrt.PolicySetDefinitionOwner 222 } 223 if peqrt.PolicySetDefinitionCategory != nil { 224 objectMap["PolicySetDefinitionCategory"] = peqrt.PolicySetDefinitionCategory 225 } 226 if peqrt.PolicySetDefinitionParameters != nil { 227 objectMap["PolicySetDefinitionParameters"] = peqrt.PolicySetDefinitionParameters 228 } 229 if peqrt.ManagementGroupIds != nil { 230 objectMap["ManagementGroupIds"] = peqrt.ManagementGroupIds 231 } 232 if peqrt.PolicyDefinitionReferenceID != nil { 233 objectMap["PolicyDefinitionReferenceId"] = peqrt.PolicyDefinitionReferenceID 234 } 235 if peqrt.TenantID != nil { 236 objectMap["TenantId"] = peqrt.TenantID 237 } 238 if peqrt.PrincipalOid != nil { 239 objectMap["PrincipalOid"] = peqrt.PrincipalOid 240 } 241 for k, v := range peqrt.AdditionalProperties { 242 objectMap[k] = v 243 } 244 return json.Marshal(objectMap) 245} 246 247// UnmarshalJSON is the custom unmarshaler for PolicyEventsQueryResultsTableColumns struct. 248func (peqrt *PolicyEventsQueryResultsTableColumns) UnmarshalJSON(body []byte) error { 249 var m map[string]*json.RawMessage 250 err := json.Unmarshal(body, &m) 251 if err != nil { 252 return err 253 } 254 for k, v := range m { 255 switch k { 256 default: 257 if v != nil { 258 var additionalProperties interface{} 259 err = json.Unmarshal(*v, &additionalProperties) 260 if err != nil { 261 return err 262 } 263 if peqrt.AdditionalProperties == nil { 264 peqrt.AdditionalProperties = make(map[string]interface{}) 265 } 266 peqrt.AdditionalProperties[k] = additionalProperties 267 } 268 case "Timestamp": 269 if v != nil { 270 var timestamp Column 271 err = json.Unmarshal(*v, ×tamp) 272 if err != nil { 273 return err 274 } 275 peqrt.Timestamp = ×tamp 276 } 277 case "ResourceId": 278 if v != nil { 279 var resourceID Column 280 err = json.Unmarshal(*v, &resourceID) 281 if err != nil { 282 return err 283 } 284 peqrt.ResourceID = &resourceID 285 } 286 case "PolicyAssignmentId": 287 if v != nil { 288 var policyAssignmentID Column 289 err = json.Unmarshal(*v, &policyAssignmentID) 290 if err != nil { 291 return err 292 } 293 peqrt.PolicyAssignmentID = &policyAssignmentID 294 } 295 case "PolicyDefinitionId": 296 if v != nil { 297 var policyDefinitionID Column 298 err = json.Unmarshal(*v, &policyDefinitionID) 299 if err != nil { 300 return err 301 } 302 peqrt.PolicyDefinitionID = &policyDefinitionID 303 } 304 case "EffectiveParameters": 305 if v != nil { 306 var effectiveParameters Column 307 err = json.Unmarshal(*v, &effectiveParameters) 308 if err != nil { 309 return err 310 } 311 peqrt.EffectiveParameters = &effectiveParameters 312 } 313 case "IsCompliant": 314 if v != nil { 315 var isCompliant Column 316 err = json.Unmarshal(*v, &isCompliant) 317 if err != nil { 318 return err 319 } 320 peqrt.IsCompliant = &isCompliant 321 } 322 case "SubscriptionId": 323 if v != nil { 324 var subscriptionID Column 325 err = json.Unmarshal(*v, &subscriptionID) 326 if err != nil { 327 return err 328 } 329 peqrt.SubscriptionID = &subscriptionID 330 } 331 case "ResourceType": 332 if v != nil { 333 var resourceType Column 334 err = json.Unmarshal(*v, &resourceType) 335 if err != nil { 336 return err 337 } 338 peqrt.ResourceType = &resourceType 339 } 340 case "ResourceLocation": 341 if v != nil { 342 var resourceLocation Column 343 err = json.Unmarshal(*v, &resourceLocation) 344 if err != nil { 345 return err 346 } 347 peqrt.ResourceLocation = &resourceLocation 348 } 349 case "ResourceGroup": 350 if v != nil { 351 var resourceGroup Column 352 err = json.Unmarshal(*v, &resourceGroup) 353 if err != nil { 354 return err 355 } 356 peqrt.ResourceGroup = &resourceGroup 357 } 358 case "ResourceTags": 359 if v != nil { 360 var resourceTags Column 361 err = json.Unmarshal(*v, &resourceTags) 362 if err != nil { 363 return err 364 } 365 peqrt.ResourceTags = &resourceTags 366 } 367 case "PolicyAssignmentName": 368 if v != nil { 369 var policyAssignmentName Column 370 err = json.Unmarshal(*v, &policyAssignmentName) 371 if err != nil { 372 return err 373 } 374 peqrt.PolicyAssignmentName = &policyAssignmentName 375 } 376 case "PolicyAssignmentOwner": 377 if v != nil { 378 var policyAssignmentOwner Column 379 err = json.Unmarshal(*v, &policyAssignmentOwner) 380 if err != nil { 381 return err 382 } 383 peqrt.PolicyAssignmentOwner = &policyAssignmentOwner 384 } 385 case "PolicyAssignmentParameters": 386 if v != nil { 387 var policyAssignmentParameters Column 388 err = json.Unmarshal(*v, &policyAssignmentParameters) 389 if err != nil { 390 return err 391 } 392 peqrt.PolicyAssignmentParameters = &policyAssignmentParameters 393 } 394 case "PolicyAssignmentScope": 395 if v != nil { 396 var policyAssignmentScope Column 397 err = json.Unmarshal(*v, &policyAssignmentScope) 398 if err != nil { 399 return err 400 } 401 peqrt.PolicyAssignmentScope = &policyAssignmentScope 402 } 403 case "PolicyDefinitionName": 404 if v != nil { 405 var policyDefinitionName Column 406 err = json.Unmarshal(*v, &policyDefinitionName) 407 if err != nil { 408 return err 409 } 410 peqrt.PolicyDefinitionName = &policyDefinitionName 411 } 412 case "PolicyDefinitionAction": 413 if v != nil { 414 var policyDefinitionAction Column 415 err = json.Unmarshal(*v, &policyDefinitionAction) 416 if err != nil { 417 return err 418 } 419 peqrt.PolicyDefinitionAction = &policyDefinitionAction 420 } 421 case "PolicyDefinitionCategory": 422 if v != nil { 423 var policyDefinitionCategory Column 424 err = json.Unmarshal(*v, &policyDefinitionCategory) 425 if err != nil { 426 return err 427 } 428 peqrt.PolicyDefinitionCategory = &policyDefinitionCategory 429 } 430 case "PolicySetDefinitionId": 431 if v != nil { 432 var policySetDefinitionID Column 433 err = json.Unmarshal(*v, &policySetDefinitionID) 434 if err != nil { 435 return err 436 } 437 peqrt.PolicySetDefinitionID = &policySetDefinitionID 438 } 439 case "PolicySetDefinitionName": 440 if v != nil { 441 var policySetDefinitionName Column 442 err = json.Unmarshal(*v, &policySetDefinitionName) 443 if err != nil { 444 return err 445 } 446 peqrt.PolicySetDefinitionName = &policySetDefinitionName 447 } 448 case "PolicySetDefinitionOwner": 449 if v != nil { 450 var policySetDefinitionOwner Column 451 err = json.Unmarshal(*v, &policySetDefinitionOwner) 452 if err != nil { 453 return err 454 } 455 peqrt.PolicySetDefinitionOwner = &policySetDefinitionOwner 456 } 457 case "PolicySetDefinitionCategory": 458 if v != nil { 459 var policySetDefinitionCategory Column 460 err = json.Unmarshal(*v, &policySetDefinitionCategory) 461 if err != nil { 462 return err 463 } 464 peqrt.PolicySetDefinitionCategory = &policySetDefinitionCategory 465 } 466 case "PolicySetDefinitionParameters": 467 if v != nil { 468 var policySetDefinitionParameters Column 469 err = json.Unmarshal(*v, &policySetDefinitionParameters) 470 if err != nil { 471 return err 472 } 473 peqrt.PolicySetDefinitionParameters = &policySetDefinitionParameters 474 } 475 case "ManagementGroupIds": 476 if v != nil { 477 var managementGroupIds Column 478 err = json.Unmarshal(*v, &managementGroupIds) 479 if err != nil { 480 return err 481 } 482 peqrt.ManagementGroupIds = &managementGroupIds 483 } 484 case "PolicyDefinitionReferenceId": 485 if v != nil { 486 var policyDefinitionReferenceID Column 487 err = json.Unmarshal(*v, &policyDefinitionReferenceID) 488 if err != nil { 489 return err 490 } 491 peqrt.PolicyDefinitionReferenceID = &policyDefinitionReferenceID 492 } 493 case "TenantId": 494 if v != nil { 495 var tenantID Column 496 err = json.Unmarshal(*v, &tenantID) 497 if err != nil { 498 return err 499 } 500 peqrt.TenantID = &tenantID 501 } 502 case "PrincipalOid": 503 if v != nil { 504 var principalOid Column 505 err = json.Unmarshal(*v, &principalOid) 506 if err != nil { 507 return err 508 } 509 peqrt.PrincipalOid = &principalOid 510 } 511 } 512 } 513 514 return nil 515} 516 517// PolicyEventsQueryResultsTableMetadata metadata about the query results. 518type PolicyEventsQueryResultsTableMetadata struct { 519 // GeneratedQuery - Internal query generated. Used for diagnostics purposes. 520 GeneratedQuery *string `json:"generatedQuery,omitempty"` 521} 522 523// PolicyStatesQueryResults query results. 524type PolicyStatesQueryResults struct { 525 autorest.Response `json:"-"` 526 // Value - Query results. 527 Value *[]PolicyStatesQueryResultsTable `json:"value,omitempty"` 528} 529 530// PolicyStatesQueryResultsTable query results table. 531type PolicyStatesQueryResultsTable struct { 532 // Metadata - Metadata about the query results. 533 Metadata *PolicyStatesQueryResultsTableMetadata `json:"metadata,omitempty"` 534 // Columns - List of columns included in query results. 535 Columns *PolicyStatesQueryResultsTableColumns `json:"columns,omitempty"` 536 // Rows - Query result rows, each representing a policy state record. 537 Rows *[][]interface{} `json:"rows,omitempty"` 538} 539 540// PolicyStatesQueryResultsTableColumns list of columns included in query results. 541type PolicyStatesQueryResultsTableColumns struct { 542 // AdditionalProperties - Unmatched properties from the message are deserialized this collection 543 AdditionalProperties map[string]interface{} `json:""` 544 // Timestamp - Timestamp for the policy state record. 545 Timestamp *Column `json:"Timestamp,omitempty"` 546 // ResourceID - Resource ID. 547 ResourceID *Column `json:"ResourceId,omitempty"` 548 // PolicyAssignmentID - Policy assignment ID. 549 PolicyAssignmentID *Column `json:"PolicyAssignmentId,omitempty"` 550 // PolicyDefinitionID - Policy definition ID. 551 PolicyDefinitionID *Column `json:"PolicyDefinitionId,omitempty"` 552 // EffectiveParameters - Effective parameters for the policy assignment. 553 EffectiveParameters *Column `json:"EffectiveParameters,omitempty"` 554 // IsCompliant - Flag which states whether the resource is compliant against the policy assignment it was evaluated against. 555 IsCompliant *Column `json:"IsCompliant,omitempty"` 556 // SubscriptionID - Subscription ID. 557 SubscriptionID *Column `json:"SubscriptionId,omitempty"` 558 // ResourceType - Resource type. 559 ResourceType *Column `json:"ResourceType,omitempty"` 560 // ResourceLocation - Resource location. 561 ResourceLocation *Column `json:"ResourceLocation,omitempty"` 562 // ResourceGroup - Resource group name. 563 ResourceGroup *Column `json:"ResourceGroup,omitempty"` 564 // ResourceTags - List of resource tags. 565 ResourceTags *Column `json:"ResourceTags,omitempty"` 566 // PolicyAssignmentName - Policy assignment name. 567 PolicyAssignmentName *Column `json:"PolicyAssignmentName,omitempty"` 568 // PolicyAssignmentOwner - Policy assignment owner. 569 PolicyAssignmentOwner *Column `json:"PolicyAssignmentOwner,omitempty"` 570 // PolicyAssignmentParameters - Policy assignment parameters. 571 PolicyAssignmentParameters *Column `json:"PolicyAssignmentParameters,omitempty"` 572 // PolicyAssignmentScope - Policy assignment scope. 573 PolicyAssignmentScope *Column `json:"PolicyAssignmentScope,omitempty"` 574 // PolicyDefinitionName - Policy definition name. 575 PolicyDefinitionName *Column `json:"PolicyDefinitionName,omitempty"` 576 // PolicyDefinitionAction - Policy definition action, i.e. effect. 577 PolicyDefinitionAction *Column `json:"PolicyDefinitionAction,omitempty"` 578 // PolicyDefinitionCategory - Policy definition category. 579 PolicyDefinitionCategory *Column `json:"PolicyDefinitionCategory,omitempty"` 580 // PolicySetDefinitionID - Policy set definition ID, if the policy assignment is for a policy set. 581 PolicySetDefinitionID *Column `json:"PolicySetDefinitionId,omitempty"` 582 // PolicySetDefinitionName - Policy set definition name, if the policy assignment is for a policy set. 583 PolicySetDefinitionName *Column `json:"PolicySetDefinitionName,omitempty"` 584 // PolicySetDefinitionOwner - Policy set definition owner, if the policy assignment is for a policy set. 585 PolicySetDefinitionOwner *Column `json:"PolicySetDefinitionOwner,omitempty"` 586 // PolicySetDefinitionCategory - Policy set definition category, if the policy assignment is for a policy set. 587 PolicySetDefinitionCategory *Column `json:"PolicySetDefinitionCategory,omitempty"` 588 // PolicySetDefinitionParameters - Policy set definition parameters, if the policy assignment is for a policy set. 589 PolicySetDefinitionParameters *Column `json:"PolicySetDefinitionParameters,omitempty"` 590 // ManagementGroupIds - Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. 591 ManagementGroupIds *Column `json:"ManagementGroupIds,omitempty"` 592 // PolicyDefinitionReferenceID - Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. 593 PolicyDefinitionReferenceID *Column `json:"PolicyDefinitionReferenceId,omitempty"` 594} 595 596// MarshalJSON is the custom marshaler for PolicyStatesQueryResultsTableColumns. 597func (psqrt PolicyStatesQueryResultsTableColumns) MarshalJSON() ([]byte, error) { 598 objectMap := make(map[string]interface{}) 599 if psqrt.Timestamp != nil { 600 objectMap["Timestamp"] = psqrt.Timestamp 601 } 602 if psqrt.ResourceID != nil { 603 objectMap["ResourceId"] = psqrt.ResourceID 604 } 605 if psqrt.PolicyAssignmentID != nil { 606 objectMap["PolicyAssignmentId"] = psqrt.PolicyAssignmentID 607 } 608 if psqrt.PolicyDefinitionID != nil { 609 objectMap["PolicyDefinitionId"] = psqrt.PolicyDefinitionID 610 } 611 if psqrt.EffectiveParameters != nil { 612 objectMap["EffectiveParameters"] = psqrt.EffectiveParameters 613 } 614 if psqrt.IsCompliant != nil { 615 objectMap["IsCompliant"] = psqrt.IsCompliant 616 } 617 if psqrt.SubscriptionID != nil { 618 objectMap["SubscriptionId"] = psqrt.SubscriptionID 619 } 620 if psqrt.ResourceType != nil { 621 objectMap["ResourceType"] = psqrt.ResourceType 622 } 623 if psqrt.ResourceLocation != nil { 624 objectMap["ResourceLocation"] = psqrt.ResourceLocation 625 } 626 if psqrt.ResourceGroup != nil { 627 objectMap["ResourceGroup"] = psqrt.ResourceGroup 628 } 629 if psqrt.ResourceTags != nil { 630 objectMap["ResourceTags"] = psqrt.ResourceTags 631 } 632 if psqrt.PolicyAssignmentName != nil { 633 objectMap["PolicyAssignmentName"] = psqrt.PolicyAssignmentName 634 } 635 if psqrt.PolicyAssignmentOwner != nil { 636 objectMap["PolicyAssignmentOwner"] = psqrt.PolicyAssignmentOwner 637 } 638 if psqrt.PolicyAssignmentParameters != nil { 639 objectMap["PolicyAssignmentParameters"] = psqrt.PolicyAssignmentParameters 640 } 641 if psqrt.PolicyAssignmentScope != nil { 642 objectMap["PolicyAssignmentScope"] = psqrt.PolicyAssignmentScope 643 } 644 if psqrt.PolicyDefinitionName != nil { 645 objectMap["PolicyDefinitionName"] = psqrt.PolicyDefinitionName 646 } 647 if psqrt.PolicyDefinitionAction != nil { 648 objectMap["PolicyDefinitionAction"] = psqrt.PolicyDefinitionAction 649 } 650 if psqrt.PolicyDefinitionCategory != nil { 651 objectMap["PolicyDefinitionCategory"] = psqrt.PolicyDefinitionCategory 652 } 653 if psqrt.PolicySetDefinitionID != nil { 654 objectMap["PolicySetDefinitionId"] = psqrt.PolicySetDefinitionID 655 } 656 if psqrt.PolicySetDefinitionName != nil { 657 objectMap["PolicySetDefinitionName"] = psqrt.PolicySetDefinitionName 658 } 659 if psqrt.PolicySetDefinitionOwner != nil { 660 objectMap["PolicySetDefinitionOwner"] = psqrt.PolicySetDefinitionOwner 661 } 662 if psqrt.PolicySetDefinitionCategory != nil { 663 objectMap["PolicySetDefinitionCategory"] = psqrt.PolicySetDefinitionCategory 664 } 665 if psqrt.PolicySetDefinitionParameters != nil { 666 objectMap["PolicySetDefinitionParameters"] = psqrt.PolicySetDefinitionParameters 667 } 668 if psqrt.ManagementGroupIds != nil { 669 objectMap["ManagementGroupIds"] = psqrt.ManagementGroupIds 670 } 671 if psqrt.PolicyDefinitionReferenceID != nil { 672 objectMap["PolicyDefinitionReferenceId"] = psqrt.PolicyDefinitionReferenceID 673 } 674 for k, v := range psqrt.AdditionalProperties { 675 objectMap[k] = v 676 } 677 return json.Marshal(objectMap) 678} 679 680// UnmarshalJSON is the custom unmarshaler for PolicyStatesQueryResultsTableColumns struct. 681func (psqrt *PolicyStatesQueryResultsTableColumns) UnmarshalJSON(body []byte) error { 682 var m map[string]*json.RawMessage 683 err := json.Unmarshal(body, &m) 684 if err != nil { 685 return err 686 } 687 for k, v := range m { 688 switch k { 689 default: 690 if v != nil { 691 var additionalProperties interface{} 692 err = json.Unmarshal(*v, &additionalProperties) 693 if err != nil { 694 return err 695 } 696 if psqrt.AdditionalProperties == nil { 697 psqrt.AdditionalProperties = make(map[string]interface{}) 698 } 699 psqrt.AdditionalProperties[k] = additionalProperties 700 } 701 case "Timestamp": 702 if v != nil { 703 var timestamp Column 704 err = json.Unmarshal(*v, ×tamp) 705 if err != nil { 706 return err 707 } 708 psqrt.Timestamp = ×tamp 709 } 710 case "ResourceId": 711 if v != nil { 712 var resourceID Column 713 err = json.Unmarshal(*v, &resourceID) 714 if err != nil { 715 return err 716 } 717 psqrt.ResourceID = &resourceID 718 } 719 case "PolicyAssignmentId": 720 if v != nil { 721 var policyAssignmentID Column 722 err = json.Unmarshal(*v, &policyAssignmentID) 723 if err != nil { 724 return err 725 } 726 psqrt.PolicyAssignmentID = &policyAssignmentID 727 } 728 case "PolicyDefinitionId": 729 if v != nil { 730 var policyDefinitionID Column 731 err = json.Unmarshal(*v, &policyDefinitionID) 732 if err != nil { 733 return err 734 } 735 psqrt.PolicyDefinitionID = &policyDefinitionID 736 } 737 case "EffectiveParameters": 738 if v != nil { 739 var effectiveParameters Column 740 err = json.Unmarshal(*v, &effectiveParameters) 741 if err != nil { 742 return err 743 } 744 psqrt.EffectiveParameters = &effectiveParameters 745 } 746 case "IsCompliant": 747 if v != nil { 748 var isCompliant Column 749 err = json.Unmarshal(*v, &isCompliant) 750 if err != nil { 751 return err 752 } 753 psqrt.IsCompliant = &isCompliant 754 } 755 case "SubscriptionId": 756 if v != nil { 757 var subscriptionID Column 758 err = json.Unmarshal(*v, &subscriptionID) 759 if err != nil { 760 return err 761 } 762 psqrt.SubscriptionID = &subscriptionID 763 } 764 case "ResourceType": 765 if v != nil { 766 var resourceType Column 767 err = json.Unmarshal(*v, &resourceType) 768 if err != nil { 769 return err 770 } 771 psqrt.ResourceType = &resourceType 772 } 773 case "ResourceLocation": 774 if v != nil { 775 var resourceLocation Column 776 err = json.Unmarshal(*v, &resourceLocation) 777 if err != nil { 778 return err 779 } 780 psqrt.ResourceLocation = &resourceLocation 781 } 782 case "ResourceGroup": 783 if v != nil { 784 var resourceGroup Column 785 err = json.Unmarshal(*v, &resourceGroup) 786 if err != nil { 787 return err 788 } 789 psqrt.ResourceGroup = &resourceGroup 790 } 791 case "ResourceTags": 792 if v != nil { 793 var resourceTags Column 794 err = json.Unmarshal(*v, &resourceTags) 795 if err != nil { 796 return err 797 } 798 psqrt.ResourceTags = &resourceTags 799 } 800 case "PolicyAssignmentName": 801 if v != nil { 802 var policyAssignmentName Column 803 err = json.Unmarshal(*v, &policyAssignmentName) 804 if err != nil { 805 return err 806 } 807 psqrt.PolicyAssignmentName = &policyAssignmentName 808 } 809 case "PolicyAssignmentOwner": 810 if v != nil { 811 var policyAssignmentOwner Column 812 err = json.Unmarshal(*v, &policyAssignmentOwner) 813 if err != nil { 814 return err 815 } 816 psqrt.PolicyAssignmentOwner = &policyAssignmentOwner 817 } 818 case "PolicyAssignmentParameters": 819 if v != nil { 820 var policyAssignmentParameters Column 821 err = json.Unmarshal(*v, &policyAssignmentParameters) 822 if err != nil { 823 return err 824 } 825 psqrt.PolicyAssignmentParameters = &policyAssignmentParameters 826 } 827 case "PolicyAssignmentScope": 828 if v != nil { 829 var policyAssignmentScope Column 830 err = json.Unmarshal(*v, &policyAssignmentScope) 831 if err != nil { 832 return err 833 } 834 psqrt.PolicyAssignmentScope = &policyAssignmentScope 835 } 836 case "PolicyDefinitionName": 837 if v != nil { 838 var policyDefinitionName Column 839 err = json.Unmarshal(*v, &policyDefinitionName) 840 if err != nil { 841 return err 842 } 843 psqrt.PolicyDefinitionName = &policyDefinitionName 844 } 845 case "PolicyDefinitionAction": 846 if v != nil { 847 var policyDefinitionAction Column 848 err = json.Unmarshal(*v, &policyDefinitionAction) 849 if err != nil { 850 return err 851 } 852 psqrt.PolicyDefinitionAction = &policyDefinitionAction 853 } 854 case "PolicyDefinitionCategory": 855 if v != nil { 856 var policyDefinitionCategory Column 857 err = json.Unmarshal(*v, &policyDefinitionCategory) 858 if err != nil { 859 return err 860 } 861 psqrt.PolicyDefinitionCategory = &policyDefinitionCategory 862 } 863 case "PolicySetDefinitionId": 864 if v != nil { 865 var policySetDefinitionID Column 866 err = json.Unmarshal(*v, &policySetDefinitionID) 867 if err != nil { 868 return err 869 } 870 psqrt.PolicySetDefinitionID = &policySetDefinitionID 871 } 872 case "PolicySetDefinitionName": 873 if v != nil { 874 var policySetDefinitionName Column 875 err = json.Unmarshal(*v, &policySetDefinitionName) 876 if err != nil { 877 return err 878 } 879 psqrt.PolicySetDefinitionName = &policySetDefinitionName 880 } 881 case "PolicySetDefinitionOwner": 882 if v != nil { 883 var policySetDefinitionOwner Column 884 err = json.Unmarshal(*v, &policySetDefinitionOwner) 885 if err != nil { 886 return err 887 } 888 psqrt.PolicySetDefinitionOwner = &policySetDefinitionOwner 889 } 890 case "PolicySetDefinitionCategory": 891 if v != nil { 892 var policySetDefinitionCategory Column 893 err = json.Unmarshal(*v, &policySetDefinitionCategory) 894 if err != nil { 895 return err 896 } 897 psqrt.PolicySetDefinitionCategory = &policySetDefinitionCategory 898 } 899 case "PolicySetDefinitionParameters": 900 if v != nil { 901 var policySetDefinitionParameters Column 902 err = json.Unmarshal(*v, &policySetDefinitionParameters) 903 if err != nil { 904 return err 905 } 906 psqrt.PolicySetDefinitionParameters = &policySetDefinitionParameters 907 } 908 case "ManagementGroupIds": 909 if v != nil { 910 var managementGroupIds Column 911 err = json.Unmarshal(*v, &managementGroupIds) 912 if err != nil { 913 return err 914 } 915 psqrt.ManagementGroupIds = &managementGroupIds 916 } 917 case "PolicyDefinitionReferenceId": 918 if v != nil { 919 var policyDefinitionReferenceID Column 920 err = json.Unmarshal(*v, &policyDefinitionReferenceID) 921 if err != nil { 922 return err 923 } 924 psqrt.PolicyDefinitionReferenceID = &policyDefinitionReferenceID 925 } 926 } 927 } 928 929 return nil 930} 931 932// PolicyStatesQueryResultsTableMetadata metadata about the query results. 933type PolicyStatesQueryResultsTableMetadata struct { 934 // GeneratedQuery - Internal query generated. Used for diagnostics purposes. 935 GeneratedQuery *string `json:"generatedQuery,omitempty"` 936} 937 938// QueryFailure error response. 939type QueryFailure struct { 940 // Error - Error definition. 941 Error *QueryFailureError `json:"error,omitempty"` 942} 943 944// QueryFailureError error definition. 945type QueryFailureError struct { 946 // Code - Service specific error code which serves as the substatus for the HTTP error code. 947 Code *string `json:"code,omitempty"` 948 // Message - Description of the error. 949 Message *string `json:"message,omitempty"` 950} 951