github.com/newrelic/newrelic-client-go@v1.1.0/pkg/cloud/cloud_api.go (about) 1 // Code generated by tutone: DO NOT EDIT 2 package cloud 3 4 import ( 5 "context" 6 7 "github.com/newrelic/newrelic-client-go/pkg/errors" 8 ) 9 10 // Create or modify a cloud integration. 11 // 12 // For details and mutation examples visit 13 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 14 func (a *Cloud) CloudConfigureIntegration( 15 accountID int, 16 integrations CloudIntegrationsInput, 17 ) (*CloudConfigureIntegrationPayload, error) { 18 return a.CloudConfigureIntegrationWithContext(context.Background(), 19 accountID, 20 integrations, 21 ) 22 } 23 24 // Create or modify a cloud integration. 25 // 26 // For details and mutation examples visit 27 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 28 func (a *Cloud) CloudConfigureIntegrationWithContext( 29 ctx context.Context, 30 accountID int, 31 integrations CloudIntegrationsInput, 32 ) (*CloudConfigureIntegrationPayload, error) { 33 34 resp := CloudConfigureIntegrationQueryResponse{} 35 vars := map[string]interface{}{ 36 "accountId": accountID, 37 "integrations": integrations, 38 } 39 40 if err := a.client.NerdGraphQueryWithContext(ctx, CloudConfigureIntegrationMutation, vars, &resp); err != nil { 41 return nil, err 42 } 43 44 return &resp.CloudConfigureIntegrationPayload, nil 45 } 46 47 type CloudConfigureIntegrationQueryResponse struct { 48 CloudConfigureIntegrationPayload CloudConfigureIntegrationPayload `json:"CloudConfigureIntegration"` 49 } 50 51 const CloudConfigureIntegrationMutation = `mutation( 52 $accountId: Int!, 53 $integrations: CloudIntegrationsInput!, 54 ) { cloudConfigureIntegration( 55 accountId: $accountId, 56 integrations: $integrations, 57 ) { 58 errors { 59 integrationSlug 60 linkedAccountId 61 message 62 nrAccountId 63 type 64 } 65 integrations { 66 __typename 67 createdAt 68 id 69 name 70 nrAccountId 71 updatedAt 72 ... on CloudAlbIntegration { 73 __typename 74 awsRegions 75 fetchExtendedInventory 76 fetchTags 77 inventoryPollingInterval 78 loadBalancerPrefixes 79 metricsPollingInterval 80 tagKey 81 tagValue 82 } 83 ... on CloudApigatewayIntegration { 84 __typename 85 awsRegions 86 inventoryPollingInterval 87 metricsPollingInterval 88 stagePrefixes 89 tagKey 90 tagValue 91 } 92 ... on CloudAutoscalingIntegration { 93 __typename 94 awsRegions 95 inventoryPollingInterval 96 metricsPollingInterval 97 } 98 ... on CloudAwsAppsyncIntegration { 99 __typename 100 awsRegions 101 inventoryPollingInterval 102 metricsPollingInterval 103 } 104 ... on CloudAwsAthenaIntegration { 105 __typename 106 awsRegions 107 inventoryPollingInterval 108 metricsPollingInterval 109 } 110 ... on CloudAwsCognitoIntegration { 111 __typename 112 awsRegions 113 inventoryPollingInterval 114 metricsPollingInterval 115 } 116 ... on CloudAwsConnectIntegration { 117 __typename 118 awsRegions 119 inventoryPollingInterval 120 metricsPollingInterval 121 } 122 ... on CloudAwsDirectconnectIntegration { 123 __typename 124 awsRegions 125 inventoryPollingInterval 126 metricsPollingInterval 127 } 128 ... on CloudAwsDocdbIntegration { 129 __typename 130 awsRegions 131 inventoryPollingInterval 132 metricsPollingInterval 133 } 134 ... on CloudAwsFsxIntegration { 135 __typename 136 awsRegions 137 inventoryPollingInterval 138 metricsPollingInterval 139 } 140 ... on CloudAwsGlueIntegration { 141 __typename 142 awsRegions 143 inventoryPollingInterval 144 metricsPollingInterval 145 } 146 ... on CloudAwsKinesisanalyticsIntegration { 147 __typename 148 awsRegions 149 inventoryPollingInterval 150 metricsPollingInterval 151 } 152 ... on CloudAwsMediaconvertIntegration { 153 __typename 154 awsRegions 155 inventoryPollingInterval 156 metricsPollingInterval 157 } 158 ... on CloudAwsMediapackagevodIntegration { 159 __typename 160 awsRegions 161 inventoryPollingInterval 162 metricsPollingInterval 163 } 164 ... on CloudAwsMetadataIntegration { 165 __typename 166 inventoryPollingInterval 167 metricsPollingInterval 168 } 169 ... on CloudAwsMqIntegration { 170 __typename 171 awsRegions 172 inventoryPollingInterval 173 metricsPollingInterval 174 } 175 ... on CloudAwsMskIntegration { 176 __typename 177 awsRegions 178 inventoryPollingInterval 179 metricsPollingInterval 180 } 181 ... on CloudAwsNeptuneIntegration { 182 __typename 183 awsRegions 184 inventoryPollingInterval 185 metricsPollingInterval 186 } 187 ... on CloudAwsQldbIntegration { 188 __typename 189 awsRegions 190 inventoryPollingInterval 191 metricsPollingInterval 192 } 193 ... on CloudAwsRoute53resolverIntegration { 194 __typename 195 awsRegions 196 inventoryPollingInterval 197 metricsPollingInterval 198 } 199 ... on CloudAwsStatesIntegration { 200 __typename 201 awsRegions 202 inventoryPollingInterval 203 metricsPollingInterval 204 } 205 ... on CloudAwsTagsGlobalIntegration { 206 __typename 207 inventoryPollingInterval 208 metricsPollingInterval 209 } 210 ... on CloudAwsTransitgatewayIntegration { 211 __typename 212 awsRegions 213 inventoryPollingInterval 214 metricsPollingInterval 215 } 216 ... on CloudAwsWafIntegration { 217 __typename 218 awsRegions 219 inventoryPollingInterval 220 metricsPollingInterval 221 } 222 ... on CloudAwsWafv2Integration { 223 __typename 224 awsRegions 225 inventoryPollingInterval 226 metricsPollingInterval 227 } 228 ... on CloudAwsXrayIntegration { 229 __typename 230 awsRegions 231 inventoryPollingInterval 232 metricsPollingInterval 233 } 234 ... on CloudAzureApimanagementIntegration { 235 __typename 236 inventoryPollingInterval 237 metricsPollingInterval 238 resourceGroups 239 } 240 ... on CloudAzureAppgatewayIntegration { 241 __typename 242 inventoryPollingInterval 243 metricsPollingInterval 244 resourceGroups 245 } 246 ... on CloudAzureAppserviceIntegration { 247 __typename 248 inventoryPollingInterval 249 metricsPollingInterval 250 resourceGroups 251 } 252 ... on CloudAzureContainersIntegration { 253 __typename 254 inventoryPollingInterval 255 metricsPollingInterval 256 resourceGroups 257 } 258 ... on CloudAzureCosmosdbIntegration { 259 __typename 260 inventoryPollingInterval 261 metricsPollingInterval 262 resourceGroups 263 } 264 ... on CloudAzureCostmanagementIntegration { 265 __typename 266 inventoryPollingInterval 267 metricsPollingInterval 268 tagKeys 269 } 270 ... on CloudAzureDatafactoryIntegration { 271 __typename 272 inventoryPollingInterval 273 metricsPollingInterval 274 resourceGroups 275 } 276 ... on CloudAzureEventhubIntegration { 277 __typename 278 inventoryPollingInterval 279 metricsPollingInterval 280 resourceGroups 281 } 282 ... on CloudAzureExpressrouteIntegration { 283 __typename 284 inventoryPollingInterval 285 metricsPollingInterval 286 resourceGroups 287 } 288 ... on CloudAzureFirewallsIntegration { 289 __typename 290 inventoryPollingInterval 291 metricsPollingInterval 292 resourceGroups 293 } 294 ... on CloudAzureFrontdoorIntegration { 295 __typename 296 inventoryPollingInterval 297 metricsPollingInterval 298 resourceGroups 299 } 300 ... on CloudAzureFunctionsIntegration { 301 __typename 302 inventoryPollingInterval 303 metricsPollingInterval 304 resourceGroups 305 } 306 ... on CloudAzureKeyvaultIntegration { 307 __typename 308 inventoryPollingInterval 309 metricsPollingInterval 310 resourceGroups 311 } 312 ... on CloudAzureLoadbalancerIntegration { 313 __typename 314 inventoryPollingInterval 315 metricsPollingInterval 316 resourceGroups 317 } 318 ... on CloudAzureLogicappsIntegration { 319 __typename 320 inventoryPollingInterval 321 metricsPollingInterval 322 resourceGroups 323 } 324 ... on CloudAzureMachinelearningIntegration { 325 __typename 326 inventoryPollingInterval 327 metricsPollingInterval 328 resourceGroups 329 } 330 ... on CloudAzureMariadbIntegration { 331 __typename 332 inventoryPollingInterval 333 metricsPollingInterval 334 resourceGroups 335 } 336 ... on CloudAzureMysqlIntegration { 337 __typename 338 inventoryPollingInterval 339 metricsPollingInterval 340 resourceGroups 341 } 342 ... on CloudAzurePostgresqlIntegration { 343 __typename 344 inventoryPollingInterval 345 metricsPollingInterval 346 resourceGroups 347 } 348 ... on CloudAzurePowerbidedicatedIntegration { 349 __typename 350 inventoryPollingInterval 351 metricsPollingInterval 352 resourceGroups 353 } 354 ... on CloudAzureRediscacheIntegration { 355 __typename 356 inventoryPollingInterval 357 metricsPollingInterval 358 resourceGroups 359 } 360 ... on CloudAzureServicebusIntegration { 361 __typename 362 inventoryPollingInterval 363 metricsPollingInterval 364 resourceGroups 365 } 366 ... on CloudAzureSqlIntegration { 367 __typename 368 inventoryPollingInterval 369 metricsPollingInterval 370 resourceGroups 371 } 372 ... on CloudAzureSqlmanagedIntegration { 373 __typename 374 inventoryPollingInterval 375 metricsPollingInterval 376 resourceGroups 377 } 378 ... on CloudAzureStorageIntegration { 379 __typename 380 inventoryPollingInterval 381 metricsPollingInterval 382 resourceGroups 383 } 384 ... on CloudAzureVirtualmachineIntegration { 385 __typename 386 inventoryPollingInterval 387 metricsPollingInterval 388 resourceGroups 389 } 390 ... on CloudAzureVirtualnetworksIntegration { 391 __typename 392 inventoryPollingInterval 393 metricsPollingInterval 394 resourceGroups 395 } 396 ... on CloudAzureVmsIntegration { 397 __typename 398 inventoryPollingInterval 399 metricsPollingInterval 400 resourceGroups 401 } 402 ... on CloudAzureVpngatewaysIntegration { 403 __typename 404 inventoryPollingInterval 405 metricsPollingInterval 406 resourceGroups 407 } 408 ... on CloudBaseIntegration { 409 __typename 410 } 411 ... on CloudBillingIntegration { 412 __typename 413 inventoryPollingInterval 414 metricsPollingInterval 415 } 416 ... on CloudCloudfrontIntegration { 417 __typename 418 fetchLambdasAtEdge 419 fetchTags 420 inventoryPollingInterval 421 metricsPollingInterval 422 tagKey 423 tagValue 424 } 425 ... on CloudCloudtrailIntegration { 426 __typename 427 awsRegions 428 inventoryPollingInterval 429 metricsPollingInterval 430 } 431 ... on CloudDynamodbIntegration { 432 __typename 433 awsRegions 434 fetchExtendedInventory 435 fetchTags 436 inventoryPollingInterval 437 metricsPollingInterval 438 tagKey 439 tagValue 440 } 441 ... on CloudEbsIntegration { 442 __typename 443 awsRegions 444 fetchExtendedInventory 445 inventoryPollingInterval 446 metricsPollingInterval 447 tagKey 448 tagValue 449 } 450 ... on CloudEc2Integration { 451 __typename 452 awsRegions 453 fetchIpAddresses 454 inventoryPollingInterval 455 metricsPollingInterval 456 tagKey 457 tagValue 458 } 459 ... on CloudEcsIntegration { 460 __typename 461 awsRegions 462 fetchTags 463 inventoryPollingInterval 464 metricsPollingInterval 465 tagKey 466 tagValue 467 } 468 ... on CloudEfsIntegration { 469 __typename 470 awsRegions 471 fetchTags 472 inventoryPollingInterval 473 metricsPollingInterval 474 tagKey 475 tagValue 476 } 477 ... on CloudElasticacheIntegration { 478 __typename 479 awsRegions 480 fetchTags 481 inventoryPollingInterval 482 metricsPollingInterval 483 tagKey 484 tagValue 485 } 486 ... on CloudElasticbeanstalkIntegration { 487 __typename 488 awsRegions 489 fetchExtendedInventory 490 fetchTags 491 inventoryPollingInterval 492 metricsPollingInterval 493 tagKey 494 tagValue 495 } 496 ... on CloudElasticsearchIntegration { 497 __typename 498 awsRegions 499 fetchNodes 500 inventoryPollingInterval 501 metricsPollingInterval 502 tagKey 503 tagValue 504 } 505 ... on CloudElbIntegration { 506 __typename 507 awsRegions 508 fetchExtendedInventory 509 fetchTags 510 inventoryPollingInterval 511 metricsPollingInterval 512 } 513 ... on CloudEmrIntegration { 514 __typename 515 awsRegions 516 fetchTags 517 inventoryPollingInterval 518 metricsPollingInterval 519 tagKey 520 tagValue 521 } 522 ... on CloudGcpAppengineIntegration { 523 __typename 524 inventoryPollingInterval 525 metricsPollingInterval 526 } 527 ... on CloudGcpBigqueryIntegration { 528 __typename 529 fetchTags 530 inventoryPollingInterval 531 metricsPollingInterval 532 } 533 ... on CloudGcpBigtableIntegration { 534 __typename 535 inventoryPollingInterval 536 metricsPollingInterval 537 } 538 ... on CloudGcpComposerIntegration { 539 __typename 540 inventoryPollingInterval 541 metricsPollingInterval 542 } 543 ... on CloudGcpDataflowIntegration { 544 __typename 545 inventoryPollingInterval 546 metricsPollingInterval 547 } 548 ... on CloudGcpDataprocIntegration { 549 __typename 550 inventoryPollingInterval 551 metricsPollingInterval 552 } 553 ... on CloudGcpDatastoreIntegration { 554 __typename 555 inventoryPollingInterval 556 metricsPollingInterval 557 } 558 ... on CloudGcpFirebasedatabaseIntegration { 559 __typename 560 inventoryPollingInterval 561 metricsPollingInterval 562 } 563 ... on CloudGcpFirebasehostingIntegration { 564 __typename 565 inventoryPollingInterval 566 metricsPollingInterval 567 } 568 ... on CloudGcpFirebasestorageIntegration { 569 __typename 570 inventoryPollingInterval 571 metricsPollingInterval 572 } 573 ... on CloudGcpFirestoreIntegration { 574 __typename 575 inventoryPollingInterval 576 metricsPollingInterval 577 } 578 ... on CloudGcpFunctionsIntegration { 579 __typename 580 inventoryPollingInterval 581 metricsPollingInterval 582 } 583 ... on CloudGcpInterconnectIntegration { 584 __typename 585 inventoryPollingInterval 586 metricsPollingInterval 587 } 588 ... on CloudGcpKubernetesIntegration { 589 __typename 590 inventoryPollingInterval 591 metricsPollingInterval 592 } 593 ... on CloudGcpLoadbalancingIntegration { 594 __typename 595 inventoryPollingInterval 596 metricsPollingInterval 597 } 598 ... on CloudGcpMemcacheIntegration { 599 __typename 600 inventoryPollingInterval 601 metricsPollingInterval 602 } 603 ... on CloudGcpPubsubIntegration { 604 __typename 605 fetchTags 606 inventoryPollingInterval 607 metricsPollingInterval 608 } 609 ... on CloudGcpRedisIntegration { 610 __typename 611 inventoryPollingInterval 612 metricsPollingInterval 613 } 614 ... on CloudGcpRouterIntegration { 615 __typename 616 inventoryPollingInterval 617 metricsPollingInterval 618 } 619 ... on CloudGcpRunIntegration { 620 __typename 621 inventoryPollingInterval 622 metricsPollingInterval 623 } 624 ... on CloudGcpSpannerIntegration { 625 __typename 626 fetchTags 627 inventoryPollingInterval 628 metricsPollingInterval 629 } 630 ... on CloudGcpSqlIntegration { 631 __typename 632 inventoryPollingInterval 633 metricsPollingInterval 634 } 635 ... on CloudGcpStorageIntegration { 636 __typename 637 fetchTags 638 inventoryPollingInterval 639 metricsPollingInterval 640 } 641 ... on CloudGcpVmsIntegration { 642 __typename 643 inventoryPollingInterval 644 metricsPollingInterval 645 } 646 ... on CloudGcpVpcaccessIntegration { 647 __typename 648 inventoryPollingInterval 649 metricsPollingInterval 650 } 651 ... on CloudHealthIntegration { 652 __typename 653 inventoryPollingInterval 654 metricsPollingInterval 655 } 656 ... on CloudIamIntegration { 657 __typename 658 inventoryPollingInterval 659 metricsPollingInterval 660 tagKey 661 tagValue 662 } 663 ... on CloudIotIntegration { 664 __typename 665 awsRegions 666 inventoryPollingInterval 667 metricsPollingInterval 668 } 669 ... on CloudKinesisFirehoseIntegration { 670 __typename 671 awsRegions 672 inventoryPollingInterval 673 metricsPollingInterval 674 } 675 ... on CloudKinesisIntegration { 676 __typename 677 awsRegions 678 fetchShards 679 fetchTags 680 inventoryPollingInterval 681 metricsPollingInterval 682 tagKey 683 tagValue 684 } 685 ... on CloudLambdaIntegration { 686 __typename 687 awsRegions 688 fetchTags 689 inventoryPollingInterval 690 metricsPollingInterval 691 tagKey 692 tagValue 693 } 694 ... on CloudRdsIntegration { 695 __typename 696 awsRegions 697 fetchTags 698 inventoryPollingInterval 699 metricsPollingInterval 700 tagKey 701 tagValue 702 } 703 ... on CloudRedshiftIntegration { 704 __typename 705 awsRegions 706 inventoryPollingInterval 707 metricsPollingInterval 708 tagKey 709 tagValue 710 } 711 ... on CloudRoute53Integration { 712 __typename 713 fetchExtendedInventory 714 inventoryPollingInterval 715 metricsPollingInterval 716 } 717 ... on CloudS3Integration { 718 __typename 719 fetchExtendedInventory 720 fetchTags 721 inventoryPollingInterval 722 metricsPollingInterval 723 tagKey 724 tagValue 725 } 726 ... on CloudSesIntegration { 727 __typename 728 awsRegions 729 inventoryPollingInterval 730 metricsPollingInterval 731 } 732 ... on CloudSnsIntegration { 733 __typename 734 awsRegions 735 fetchExtendedInventory 736 inventoryPollingInterval 737 metricsPollingInterval 738 } 739 ... on CloudSqsIntegration { 740 __typename 741 awsRegions 742 fetchExtendedInventory 743 fetchTags 744 inventoryPollingInterval 745 metricsPollingInterval 746 queuePrefixes 747 tagKey 748 tagValue 749 } 750 ... on CloudTrustedadvisorIntegration { 751 __typename 752 inventoryPollingInterval 753 metricsPollingInterval 754 } 755 ... on CloudVpcIntegration { 756 __typename 757 awsRegions 758 fetchNatGateway 759 fetchVpn 760 inventoryPollingInterval 761 metricsPollingInterval 762 tagKey 763 tagValue 764 } 765 } 766 } }` 767 768 // Disable a cloud integration. Stops collecting data for the specified integration. 769 // 770 // For details and mutation examples visit 771 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 772 func (a *Cloud) CloudDisableIntegration( 773 accountID int, 774 integrations CloudDisableIntegrationsInput, 775 ) (*CloudDisableIntegrationPayload, error) { 776 return a.CloudDisableIntegrationWithContext(context.Background(), 777 accountID, 778 integrations, 779 ) 780 } 781 782 // Disable a cloud integration. Stops collecting data for the specified integration. 783 // 784 // For details and mutation examples visit 785 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 786 func (a *Cloud) CloudDisableIntegrationWithContext( 787 ctx context.Context, 788 accountID int, 789 integrations CloudDisableIntegrationsInput, 790 ) (*CloudDisableIntegrationPayload, error) { 791 792 resp := CloudDisableIntegrationQueryResponse{} 793 vars := map[string]interface{}{ 794 "accountId": accountID, 795 "integrations": integrations, 796 } 797 798 if err := a.client.NerdGraphQueryWithContext(ctx, CloudDisableIntegrationMutation, vars, &resp); err != nil { 799 return nil, err 800 } 801 802 return &resp.CloudDisableIntegrationPayload, nil 803 } 804 805 type CloudDisableIntegrationQueryResponse struct { 806 CloudDisableIntegrationPayload CloudDisableIntegrationPayload `json:"CloudDisableIntegration"` 807 } 808 809 const CloudDisableIntegrationMutation = `mutation( 810 $accountId: Int!, 811 $integrations: CloudDisableIntegrationsInput!, 812 ) { cloudDisableIntegration( 813 accountId: $accountId, 814 integrations: $integrations, 815 ) { 816 disabledIntegrations { 817 __typename 818 createdAt 819 id 820 name 821 nrAccountId 822 updatedAt 823 ... on CloudAlbIntegration { 824 __typename 825 awsRegions 826 fetchExtendedInventory 827 fetchTags 828 inventoryPollingInterval 829 loadBalancerPrefixes 830 metricsPollingInterval 831 tagKey 832 tagValue 833 } 834 ... on CloudApigatewayIntegration { 835 __typename 836 awsRegions 837 inventoryPollingInterval 838 metricsPollingInterval 839 stagePrefixes 840 tagKey 841 tagValue 842 } 843 ... on CloudAutoscalingIntegration { 844 __typename 845 awsRegions 846 inventoryPollingInterval 847 metricsPollingInterval 848 } 849 ... on CloudAwsAppsyncIntegration { 850 __typename 851 awsRegions 852 inventoryPollingInterval 853 metricsPollingInterval 854 } 855 ... on CloudAwsAthenaIntegration { 856 __typename 857 awsRegions 858 inventoryPollingInterval 859 metricsPollingInterval 860 } 861 ... on CloudAwsCognitoIntegration { 862 __typename 863 awsRegions 864 inventoryPollingInterval 865 metricsPollingInterval 866 } 867 ... on CloudAwsConnectIntegration { 868 __typename 869 awsRegions 870 inventoryPollingInterval 871 metricsPollingInterval 872 } 873 ... on CloudAwsDirectconnectIntegration { 874 __typename 875 awsRegions 876 inventoryPollingInterval 877 metricsPollingInterval 878 } 879 ... on CloudAwsDocdbIntegration { 880 __typename 881 awsRegions 882 inventoryPollingInterval 883 metricsPollingInterval 884 } 885 ... on CloudAwsFsxIntegration { 886 __typename 887 awsRegions 888 inventoryPollingInterval 889 metricsPollingInterval 890 } 891 ... on CloudAwsGlueIntegration { 892 __typename 893 awsRegions 894 inventoryPollingInterval 895 metricsPollingInterval 896 } 897 ... on CloudAwsKinesisanalyticsIntegration { 898 __typename 899 awsRegions 900 inventoryPollingInterval 901 metricsPollingInterval 902 } 903 ... on CloudAwsMediaconvertIntegration { 904 __typename 905 awsRegions 906 inventoryPollingInterval 907 metricsPollingInterval 908 } 909 ... on CloudAwsMediapackagevodIntegration { 910 __typename 911 awsRegions 912 inventoryPollingInterval 913 metricsPollingInterval 914 } 915 ... on CloudAwsMetadataIntegration { 916 __typename 917 inventoryPollingInterval 918 metricsPollingInterval 919 } 920 ... on CloudAwsMqIntegration { 921 __typename 922 awsRegions 923 inventoryPollingInterval 924 metricsPollingInterval 925 } 926 ... on CloudAwsMskIntegration { 927 __typename 928 awsRegions 929 inventoryPollingInterval 930 metricsPollingInterval 931 } 932 ... on CloudAwsNeptuneIntegration { 933 __typename 934 awsRegions 935 inventoryPollingInterval 936 metricsPollingInterval 937 } 938 ... on CloudAwsQldbIntegration { 939 __typename 940 awsRegions 941 inventoryPollingInterval 942 metricsPollingInterval 943 } 944 ... on CloudAwsRoute53resolverIntegration { 945 __typename 946 awsRegions 947 inventoryPollingInterval 948 metricsPollingInterval 949 } 950 ... on CloudAwsStatesIntegration { 951 __typename 952 awsRegions 953 inventoryPollingInterval 954 metricsPollingInterval 955 } 956 ... on CloudAwsTagsGlobalIntegration { 957 __typename 958 inventoryPollingInterval 959 metricsPollingInterval 960 } 961 ... on CloudAwsTransitgatewayIntegration { 962 __typename 963 awsRegions 964 inventoryPollingInterval 965 metricsPollingInterval 966 } 967 ... on CloudAwsWafIntegration { 968 __typename 969 awsRegions 970 inventoryPollingInterval 971 metricsPollingInterval 972 } 973 ... on CloudAwsWafv2Integration { 974 __typename 975 awsRegions 976 inventoryPollingInterval 977 metricsPollingInterval 978 } 979 ... on CloudAwsXrayIntegration { 980 __typename 981 awsRegions 982 inventoryPollingInterval 983 metricsPollingInterval 984 } 985 ... on CloudAzureApimanagementIntegration { 986 __typename 987 inventoryPollingInterval 988 metricsPollingInterval 989 resourceGroups 990 } 991 ... on CloudAzureAppgatewayIntegration { 992 __typename 993 inventoryPollingInterval 994 metricsPollingInterval 995 resourceGroups 996 } 997 ... on CloudAzureAppserviceIntegration { 998 __typename 999 inventoryPollingInterval 1000 metricsPollingInterval 1001 resourceGroups 1002 } 1003 ... on CloudAzureContainersIntegration { 1004 __typename 1005 inventoryPollingInterval 1006 metricsPollingInterval 1007 resourceGroups 1008 } 1009 ... on CloudAzureCosmosdbIntegration { 1010 __typename 1011 inventoryPollingInterval 1012 metricsPollingInterval 1013 resourceGroups 1014 } 1015 ... on CloudAzureCostmanagementIntegration { 1016 __typename 1017 inventoryPollingInterval 1018 metricsPollingInterval 1019 tagKeys 1020 } 1021 ... on CloudAzureDatafactoryIntegration { 1022 __typename 1023 inventoryPollingInterval 1024 metricsPollingInterval 1025 resourceGroups 1026 } 1027 ... on CloudAzureEventhubIntegration { 1028 __typename 1029 inventoryPollingInterval 1030 metricsPollingInterval 1031 resourceGroups 1032 } 1033 ... on CloudAzureExpressrouteIntegration { 1034 __typename 1035 inventoryPollingInterval 1036 metricsPollingInterval 1037 resourceGroups 1038 } 1039 ... on CloudAzureFirewallsIntegration { 1040 __typename 1041 inventoryPollingInterval 1042 metricsPollingInterval 1043 resourceGroups 1044 } 1045 ... on CloudAzureFrontdoorIntegration { 1046 __typename 1047 inventoryPollingInterval 1048 metricsPollingInterval 1049 resourceGroups 1050 } 1051 ... on CloudAzureFunctionsIntegration { 1052 __typename 1053 inventoryPollingInterval 1054 metricsPollingInterval 1055 resourceGroups 1056 } 1057 ... on CloudAzureKeyvaultIntegration { 1058 __typename 1059 inventoryPollingInterval 1060 metricsPollingInterval 1061 resourceGroups 1062 } 1063 ... on CloudAzureLoadbalancerIntegration { 1064 __typename 1065 inventoryPollingInterval 1066 metricsPollingInterval 1067 resourceGroups 1068 } 1069 ... on CloudAzureLogicappsIntegration { 1070 __typename 1071 inventoryPollingInterval 1072 metricsPollingInterval 1073 resourceGroups 1074 } 1075 ... on CloudAzureMachinelearningIntegration { 1076 __typename 1077 inventoryPollingInterval 1078 metricsPollingInterval 1079 resourceGroups 1080 } 1081 ... on CloudAzureMariadbIntegration { 1082 __typename 1083 inventoryPollingInterval 1084 metricsPollingInterval 1085 resourceGroups 1086 } 1087 ... on CloudAzureMysqlIntegration { 1088 __typename 1089 inventoryPollingInterval 1090 metricsPollingInterval 1091 resourceGroups 1092 } 1093 ... on CloudAzurePostgresqlIntegration { 1094 __typename 1095 inventoryPollingInterval 1096 metricsPollingInterval 1097 resourceGroups 1098 } 1099 ... on CloudAzurePowerbidedicatedIntegration { 1100 __typename 1101 inventoryPollingInterval 1102 metricsPollingInterval 1103 resourceGroups 1104 } 1105 ... on CloudAzureRediscacheIntegration { 1106 __typename 1107 inventoryPollingInterval 1108 metricsPollingInterval 1109 resourceGroups 1110 } 1111 ... on CloudAzureServicebusIntegration { 1112 __typename 1113 inventoryPollingInterval 1114 metricsPollingInterval 1115 resourceGroups 1116 } 1117 ... on CloudAzureSqlIntegration { 1118 __typename 1119 inventoryPollingInterval 1120 metricsPollingInterval 1121 resourceGroups 1122 } 1123 ... on CloudAzureSqlmanagedIntegration { 1124 __typename 1125 inventoryPollingInterval 1126 metricsPollingInterval 1127 resourceGroups 1128 } 1129 ... on CloudAzureStorageIntegration { 1130 __typename 1131 inventoryPollingInterval 1132 metricsPollingInterval 1133 resourceGroups 1134 } 1135 ... on CloudAzureVirtualmachineIntegration { 1136 __typename 1137 inventoryPollingInterval 1138 metricsPollingInterval 1139 resourceGroups 1140 } 1141 ... on CloudAzureVirtualnetworksIntegration { 1142 __typename 1143 inventoryPollingInterval 1144 metricsPollingInterval 1145 resourceGroups 1146 } 1147 ... on CloudAzureVmsIntegration { 1148 __typename 1149 inventoryPollingInterval 1150 metricsPollingInterval 1151 resourceGroups 1152 } 1153 ... on CloudAzureVpngatewaysIntegration { 1154 __typename 1155 inventoryPollingInterval 1156 metricsPollingInterval 1157 resourceGroups 1158 } 1159 ... on CloudBaseIntegration { 1160 __typename 1161 } 1162 ... on CloudBillingIntegration { 1163 __typename 1164 inventoryPollingInterval 1165 metricsPollingInterval 1166 } 1167 ... on CloudCloudfrontIntegration { 1168 __typename 1169 fetchLambdasAtEdge 1170 fetchTags 1171 inventoryPollingInterval 1172 metricsPollingInterval 1173 tagKey 1174 tagValue 1175 } 1176 ... on CloudCloudtrailIntegration { 1177 __typename 1178 awsRegions 1179 inventoryPollingInterval 1180 metricsPollingInterval 1181 } 1182 ... on CloudDynamodbIntegration { 1183 __typename 1184 awsRegions 1185 fetchExtendedInventory 1186 fetchTags 1187 inventoryPollingInterval 1188 metricsPollingInterval 1189 tagKey 1190 tagValue 1191 } 1192 ... on CloudEbsIntegration { 1193 __typename 1194 awsRegions 1195 fetchExtendedInventory 1196 inventoryPollingInterval 1197 metricsPollingInterval 1198 tagKey 1199 tagValue 1200 } 1201 ... on CloudEc2Integration { 1202 __typename 1203 awsRegions 1204 fetchIpAddresses 1205 inventoryPollingInterval 1206 metricsPollingInterval 1207 tagKey 1208 tagValue 1209 } 1210 ... on CloudEcsIntegration { 1211 __typename 1212 awsRegions 1213 fetchTags 1214 inventoryPollingInterval 1215 metricsPollingInterval 1216 tagKey 1217 tagValue 1218 } 1219 ... on CloudEfsIntegration { 1220 __typename 1221 awsRegions 1222 fetchTags 1223 inventoryPollingInterval 1224 metricsPollingInterval 1225 tagKey 1226 tagValue 1227 } 1228 ... on CloudElasticacheIntegration { 1229 __typename 1230 awsRegions 1231 fetchTags 1232 inventoryPollingInterval 1233 metricsPollingInterval 1234 tagKey 1235 tagValue 1236 } 1237 ... on CloudElasticbeanstalkIntegration { 1238 __typename 1239 awsRegions 1240 fetchExtendedInventory 1241 fetchTags 1242 inventoryPollingInterval 1243 metricsPollingInterval 1244 tagKey 1245 tagValue 1246 } 1247 ... on CloudElasticsearchIntegration { 1248 __typename 1249 awsRegions 1250 fetchNodes 1251 inventoryPollingInterval 1252 metricsPollingInterval 1253 tagKey 1254 tagValue 1255 } 1256 ... on CloudElbIntegration { 1257 __typename 1258 awsRegions 1259 fetchExtendedInventory 1260 fetchTags 1261 inventoryPollingInterval 1262 metricsPollingInterval 1263 } 1264 ... on CloudEmrIntegration { 1265 __typename 1266 awsRegions 1267 fetchTags 1268 inventoryPollingInterval 1269 metricsPollingInterval 1270 tagKey 1271 tagValue 1272 } 1273 ... on CloudGcpAppengineIntegration { 1274 __typename 1275 inventoryPollingInterval 1276 metricsPollingInterval 1277 } 1278 ... on CloudGcpBigqueryIntegration { 1279 __typename 1280 fetchTags 1281 inventoryPollingInterval 1282 metricsPollingInterval 1283 } 1284 ... on CloudGcpBigtableIntegration { 1285 __typename 1286 inventoryPollingInterval 1287 metricsPollingInterval 1288 } 1289 ... on CloudGcpComposerIntegration { 1290 __typename 1291 inventoryPollingInterval 1292 metricsPollingInterval 1293 } 1294 ... on CloudGcpDataflowIntegration { 1295 __typename 1296 inventoryPollingInterval 1297 metricsPollingInterval 1298 } 1299 ... on CloudGcpDataprocIntegration { 1300 __typename 1301 inventoryPollingInterval 1302 metricsPollingInterval 1303 } 1304 ... on CloudGcpDatastoreIntegration { 1305 __typename 1306 inventoryPollingInterval 1307 metricsPollingInterval 1308 } 1309 ... on CloudGcpFirebasedatabaseIntegration { 1310 __typename 1311 inventoryPollingInterval 1312 metricsPollingInterval 1313 } 1314 ... on CloudGcpFirebasehostingIntegration { 1315 __typename 1316 inventoryPollingInterval 1317 metricsPollingInterval 1318 } 1319 ... on CloudGcpFirebasestorageIntegration { 1320 __typename 1321 inventoryPollingInterval 1322 metricsPollingInterval 1323 } 1324 ... on CloudGcpFirestoreIntegration { 1325 __typename 1326 inventoryPollingInterval 1327 metricsPollingInterval 1328 } 1329 ... on CloudGcpFunctionsIntegration { 1330 __typename 1331 inventoryPollingInterval 1332 metricsPollingInterval 1333 } 1334 ... on CloudGcpInterconnectIntegration { 1335 __typename 1336 inventoryPollingInterval 1337 metricsPollingInterval 1338 } 1339 ... on CloudGcpKubernetesIntegration { 1340 __typename 1341 inventoryPollingInterval 1342 metricsPollingInterval 1343 } 1344 ... on CloudGcpLoadbalancingIntegration { 1345 __typename 1346 inventoryPollingInterval 1347 metricsPollingInterval 1348 } 1349 ... on CloudGcpMemcacheIntegration { 1350 __typename 1351 inventoryPollingInterval 1352 metricsPollingInterval 1353 } 1354 ... on CloudGcpPubsubIntegration { 1355 __typename 1356 fetchTags 1357 inventoryPollingInterval 1358 metricsPollingInterval 1359 } 1360 ... on CloudGcpRedisIntegration { 1361 __typename 1362 inventoryPollingInterval 1363 metricsPollingInterval 1364 } 1365 ... on CloudGcpRouterIntegration { 1366 __typename 1367 inventoryPollingInterval 1368 metricsPollingInterval 1369 } 1370 ... on CloudGcpRunIntegration { 1371 __typename 1372 inventoryPollingInterval 1373 metricsPollingInterval 1374 } 1375 ... on CloudGcpSpannerIntegration { 1376 __typename 1377 fetchTags 1378 inventoryPollingInterval 1379 metricsPollingInterval 1380 } 1381 ... on CloudGcpSqlIntegration { 1382 __typename 1383 inventoryPollingInterval 1384 metricsPollingInterval 1385 } 1386 ... on CloudGcpStorageIntegration { 1387 __typename 1388 fetchTags 1389 inventoryPollingInterval 1390 metricsPollingInterval 1391 } 1392 ... on CloudGcpVmsIntegration { 1393 __typename 1394 inventoryPollingInterval 1395 metricsPollingInterval 1396 } 1397 ... on CloudGcpVpcaccessIntegration { 1398 __typename 1399 inventoryPollingInterval 1400 metricsPollingInterval 1401 } 1402 ... on CloudHealthIntegration { 1403 __typename 1404 inventoryPollingInterval 1405 metricsPollingInterval 1406 } 1407 ... on CloudIamIntegration { 1408 __typename 1409 inventoryPollingInterval 1410 metricsPollingInterval 1411 tagKey 1412 tagValue 1413 } 1414 ... on CloudIotIntegration { 1415 __typename 1416 awsRegions 1417 inventoryPollingInterval 1418 metricsPollingInterval 1419 } 1420 ... on CloudKinesisFirehoseIntegration { 1421 __typename 1422 awsRegions 1423 inventoryPollingInterval 1424 metricsPollingInterval 1425 } 1426 ... on CloudKinesisIntegration { 1427 __typename 1428 awsRegions 1429 fetchShards 1430 fetchTags 1431 inventoryPollingInterval 1432 metricsPollingInterval 1433 tagKey 1434 tagValue 1435 } 1436 ... on CloudLambdaIntegration { 1437 __typename 1438 awsRegions 1439 fetchTags 1440 inventoryPollingInterval 1441 metricsPollingInterval 1442 tagKey 1443 tagValue 1444 } 1445 ... on CloudRdsIntegration { 1446 __typename 1447 awsRegions 1448 fetchTags 1449 inventoryPollingInterval 1450 metricsPollingInterval 1451 tagKey 1452 tagValue 1453 } 1454 ... on CloudRedshiftIntegration { 1455 __typename 1456 awsRegions 1457 inventoryPollingInterval 1458 metricsPollingInterval 1459 tagKey 1460 tagValue 1461 } 1462 ... on CloudRoute53Integration { 1463 __typename 1464 fetchExtendedInventory 1465 inventoryPollingInterval 1466 metricsPollingInterval 1467 } 1468 ... on CloudS3Integration { 1469 __typename 1470 fetchExtendedInventory 1471 fetchTags 1472 inventoryPollingInterval 1473 metricsPollingInterval 1474 tagKey 1475 tagValue 1476 } 1477 ... on CloudSesIntegration { 1478 __typename 1479 awsRegions 1480 inventoryPollingInterval 1481 metricsPollingInterval 1482 } 1483 ... on CloudSnsIntegration { 1484 __typename 1485 awsRegions 1486 fetchExtendedInventory 1487 inventoryPollingInterval 1488 metricsPollingInterval 1489 } 1490 ... on CloudSqsIntegration { 1491 __typename 1492 awsRegions 1493 fetchExtendedInventory 1494 fetchTags 1495 inventoryPollingInterval 1496 metricsPollingInterval 1497 queuePrefixes 1498 tagKey 1499 tagValue 1500 } 1501 ... on CloudTrustedadvisorIntegration { 1502 __typename 1503 inventoryPollingInterval 1504 metricsPollingInterval 1505 } 1506 ... on CloudVpcIntegration { 1507 __typename 1508 awsRegions 1509 fetchNatGateway 1510 fetchVpn 1511 inventoryPollingInterval 1512 metricsPollingInterval 1513 tagKey 1514 tagValue 1515 } 1516 } 1517 errors { 1518 integrationSlug 1519 linkedAccountId 1520 message 1521 nrAccountId 1522 type 1523 } 1524 } }` 1525 1526 // Link a cloud provider account to a New Relic Account. 1527 // 1528 // For details and mutation examples visit 1529 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1530 func (a *Cloud) CloudLinkAccount( 1531 accountID int, 1532 accounts CloudLinkCloudAccountsInput, 1533 ) (*CloudLinkAccountPayload, error) { 1534 return a.CloudLinkAccountWithContext(context.Background(), 1535 accountID, 1536 accounts, 1537 ) 1538 } 1539 1540 // Link a cloud provider account to a New Relic Account. 1541 // 1542 // For details and mutation examples visit 1543 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1544 func (a *Cloud) CloudLinkAccountWithContext( 1545 ctx context.Context, 1546 accountID int, 1547 accounts CloudLinkCloudAccountsInput, 1548 ) (*CloudLinkAccountPayload, error) { 1549 1550 resp := CloudLinkAccountQueryResponse{} 1551 vars := map[string]interface{}{ 1552 "accountId": accountID, 1553 "accounts": accounts, 1554 } 1555 1556 if err := a.client.NerdGraphQueryWithContext(ctx, CloudLinkAccountMutation, vars, &resp); err != nil { 1557 return nil, err 1558 } 1559 1560 return &resp.CloudLinkAccountPayload, nil 1561 } 1562 1563 type CloudLinkAccountQueryResponse struct { 1564 CloudLinkAccountPayload CloudLinkAccountPayload `json:"CloudLinkAccount"` 1565 } 1566 1567 const CloudLinkAccountMutation = `mutation( 1568 $accountId: Int!, 1569 $accounts: CloudLinkCloudAccountsInput!, 1570 ) { cloudLinkAccount( 1571 accountId: $accountId, 1572 accounts: $accounts, 1573 ) { 1574 errors { 1575 linkedAccountId 1576 message 1577 nrAccountId 1578 providerSlug 1579 type 1580 } 1581 linkedAccounts { 1582 authLabel 1583 createdAt 1584 disabled 1585 externalId 1586 id 1587 metricCollectionMode 1588 name 1589 nrAccountId 1590 updatedAt 1591 } 1592 } }` 1593 1594 // Rename one or more linked cloud provider accounts. 1595 // 1596 // For details and mutation examples visit 1597 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1598 func (a *Cloud) CloudRenameAccount( 1599 accountID int, 1600 accounts []CloudRenameAccountsInput, 1601 ) (*CloudRenameAccountPayload, error) { 1602 return a.CloudRenameAccountWithContext(context.Background(), 1603 accountID, 1604 accounts, 1605 ) 1606 } 1607 1608 // Rename one or more linked cloud provider accounts. 1609 // 1610 // For details and mutation examples visit 1611 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1612 func (a *Cloud) CloudRenameAccountWithContext( 1613 ctx context.Context, 1614 accountID int, 1615 accounts []CloudRenameAccountsInput, 1616 ) (*CloudRenameAccountPayload, error) { 1617 1618 resp := CloudRenameAccountQueryResponse{} 1619 vars := map[string]interface{}{ 1620 "accountId": accountID, 1621 "accounts": accounts, 1622 } 1623 1624 if err := a.client.NerdGraphQueryWithContext(ctx, CloudRenameAccountMutation, vars, &resp); err != nil { 1625 return nil, err 1626 } 1627 1628 return &resp.CloudRenameAccountPayload, nil 1629 } 1630 1631 type CloudRenameAccountQueryResponse struct { 1632 CloudRenameAccountPayload CloudRenameAccountPayload `json:"CloudRenameAccount"` 1633 } 1634 1635 const CloudRenameAccountMutation = `mutation( 1636 $accountId: Int!, 1637 $accounts: [CloudRenameAccountsInput!]!, 1638 ) { cloudRenameAccount( 1639 accountId: $accountId, 1640 accounts: $accounts, 1641 ) { 1642 errors { 1643 linkedAccountId 1644 message 1645 nrAccountId 1646 providerSlug 1647 type 1648 } 1649 linkedAccounts { 1650 authLabel 1651 createdAt 1652 disabled 1653 externalId 1654 id 1655 metricCollectionMode 1656 name 1657 nrAccountId 1658 updatedAt 1659 } 1660 } }` 1661 1662 // Unlink one or more cloud provider accounts. 1663 // Stops collecting data for all the associated integrations. 1664 // 1665 // For details and mutation examples visit 1666 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1667 func (a *Cloud) CloudUnlinkAccount( 1668 accountID int, 1669 accounts []CloudUnlinkAccountsInput, 1670 ) (*CloudUnlinkAccountPayload, error) { 1671 return a.CloudUnlinkAccountWithContext(context.Background(), 1672 accountID, 1673 accounts, 1674 ) 1675 } 1676 1677 // Unlink one or more cloud provider accounts. 1678 // Stops collecting data for all the associated integrations. 1679 // 1680 // For details and mutation examples visit 1681 // [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api). 1682 func (a *Cloud) CloudUnlinkAccountWithContext( 1683 ctx context.Context, 1684 accountID int, 1685 accounts []CloudUnlinkAccountsInput, 1686 ) (*CloudUnlinkAccountPayload, error) { 1687 1688 resp := CloudUnlinkAccountQueryResponse{} 1689 vars := map[string]interface{}{ 1690 "accountId": accountID, 1691 "accounts": accounts, 1692 } 1693 1694 if err := a.client.NerdGraphQueryWithContext(ctx, CloudUnlinkAccountMutation, vars, &resp); err != nil { 1695 return nil, err 1696 } 1697 1698 return &resp.CloudUnlinkAccountPayload, nil 1699 } 1700 1701 type CloudUnlinkAccountQueryResponse struct { 1702 CloudUnlinkAccountPayload CloudUnlinkAccountPayload `json:"CloudUnlinkAccount"` 1703 } 1704 1705 const CloudUnlinkAccountMutation = `mutation( 1706 $accountId: Int!, 1707 $accounts: [CloudUnlinkAccountsInput!]!, 1708 ) { cloudUnlinkAccount( 1709 accountId: $accountId, 1710 accounts: $accounts, 1711 ) { 1712 errors { 1713 linkedAccountId 1714 message 1715 nrAccountId 1716 providerSlug 1717 type 1718 } 1719 unlinkedAccounts { 1720 authLabel 1721 createdAt 1722 disabled 1723 externalId 1724 id 1725 metricCollectionMode 1726 name 1727 nrAccountId 1728 updatedAt 1729 } 1730 } }` 1731 1732 // Get one linked provider account. 1733 func (a *Cloud) GetLinkedAccount( 1734 accountID int, 1735 iD int, 1736 ) (*CloudLinkedAccount, error) { 1737 return a.GetLinkedAccountWithContext(context.Background(), 1738 accountID, 1739 iD, 1740 ) 1741 } 1742 1743 // Get one linked provider account. 1744 func (a *Cloud) GetLinkedAccountWithContext( 1745 ctx context.Context, 1746 accountID int, 1747 iD int, 1748 ) (*CloudLinkedAccount, error) { 1749 1750 resp := linkedAccountResponse{} 1751 vars := map[string]interface{}{ 1752 "accountID": accountID, 1753 "id": iD, 1754 } 1755 1756 if err := a.client.NerdGraphQueryWithContext(ctx, getLinkedAccountQuery, vars, &resp); err != nil { 1757 return nil, err 1758 } 1759 1760 return &resp.Actor.Account.Cloud.LinkedAccount, nil 1761 } 1762 1763 const getLinkedAccountQuery = `query( 1764 $accountID: Int!, 1765 $id: Int!, 1766 ) { actor { account(id: $accountID) { cloud { linkedAccount( 1767 id: $id, 1768 ) { 1769 authLabel 1770 createdAt 1771 disabled 1772 externalId 1773 id 1774 integrations { 1775 __typename 1776 createdAt 1777 id 1778 linkedAccount { 1779 authLabel 1780 createdAt 1781 disabled 1782 externalId 1783 id 1784 metricCollectionMode 1785 name 1786 nrAccountId 1787 updatedAt 1788 } 1789 name 1790 nrAccountId 1791 service { 1792 createdAt 1793 icon 1794 id 1795 isEnabled 1796 name 1797 slug 1798 updatedAt 1799 } 1800 updatedAt 1801 ... on CloudAlbIntegration { 1802 __typename 1803 awsRegions 1804 fetchExtendedInventory 1805 fetchTags 1806 inventoryPollingInterval 1807 loadBalancerPrefixes 1808 metricsPollingInterval 1809 tagKey 1810 tagValue 1811 } 1812 ... on CloudApigatewayIntegration { 1813 __typename 1814 awsRegions 1815 inventoryPollingInterval 1816 metricsPollingInterval 1817 stagePrefixes 1818 tagKey 1819 tagValue 1820 } 1821 ... on CloudAutoscalingIntegration { 1822 __typename 1823 awsRegions 1824 inventoryPollingInterval 1825 metricsPollingInterval 1826 } 1827 ... on CloudAwsAppsyncIntegration { 1828 __typename 1829 awsRegions 1830 inventoryPollingInterval 1831 metricsPollingInterval 1832 } 1833 ... on CloudAwsAthenaIntegration { 1834 __typename 1835 awsRegions 1836 inventoryPollingInterval 1837 metricsPollingInterval 1838 } 1839 ... on CloudAwsCognitoIntegration { 1840 __typename 1841 awsRegions 1842 inventoryPollingInterval 1843 metricsPollingInterval 1844 } 1845 ... on CloudAwsConnectIntegration { 1846 __typename 1847 awsRegions 1848 inventoryPollingInterval 1849 metricsPollingInterval 1850 } 1851 ... on CloudAwsDirectconnectIntegration { 1852 __typename 1853 awsRegions 1854 inventoryPollingInterval 1855 metricsPollingInterval 1856 } 1857 ... on CloudAwsDocdbIntegration { 1858 __typename 1859 awsRegions 1860 inventoryPollingInterval 1861 metricsPollingInterval 1862 } 1863 ... on CloudAwsFsxIntegration { 1864 __typename 1865 awsRegions 1866 inventoryPollingInterval 1867 metricsPollingInterval 1868 } 1869 ... on CloudAwsGlueIntegration { 1870 __typename 1871 awsRegions 1872 inventoryPollingInterval 1873 metricsPollingInterval 1874 } 1875 ... on CloudAwsKinesisanalyticsIntegration { 1876 __typename 1877 awsRegions 1878 inventoryPollingInterval 1879 metricsPollingInterval 1880 } 1881 ... on CloudAwsMediaconvertIntegration { 1882 __typename 1883 awsRegions 1884 inventoryPollingInterval 1885 metricsPollingInterval 1886 } 1887 ... on CloudAwsMediapackagevodIntegration { 1888 __typename 1889 awsRegions 1890 inventoryPollingInterval 1891 metricsPollingInterval 1892 } 1893 ... on CloudAwsMetadataIntegration { 1894 __typename 1895 inventoryPollingInterval 1896 metricsPollingInterval 1897 } 1898 ... on CloudAwsMqIntegration { 1899 __typename 1900 awsRegions 1901 inventoryPollingInterval 1902 metricsPollingInterval 1903 } 1904 ... on CloudAwsMskIntegration { 1905 __typename 1906 awsRegions 1907 inventoryPollingInterval 1908 metricsPollingInterval 1909 } 1910 ... on CloudAwsNeptuneIntegration { 1911 __typename 1912 awsRegions 1913 inventoryPollingInterval 1914 metricsPollingInterval 1915 } 1916 ... on CloudAwsQldbIntegration { 1917 __typename 1918 awsRegions 1919 inventoryPollingInterval 1920 metricsPollingInterval 1921 } 1922 ... on CloudAwsRoute53resolverIntegration { 1923 __typename 1924 awsRegions 1925 inventoryPollingInterval 1926 metricsPollingInterval 1927 } 1928 ... on CloudAwsStatesIntegration { 1929 __typename 1930 awsRegions 1931 inventoryPollingInterval 1932 metricsPollingInterval 1933 } 1934 ... on CloudAwsTagsGlobalIntegration { 1935 __typename 1936 inventoryPollingInterval 1937 metricsPollingInterval 1938 } 1939 ... on CloudAwsTransitgatewayIntegration { 1940 __typename 1941 awsRegions 1942 inventoryPollingInterval 1943 metricsPollingInterval 1944 } 1945 ... on CloudAwsWafIntegration { 1946 __typename 1947 awsRegions 1948 inventoryPollingInterval 1949 metricsPollingInterval 1950 } 1951 ... on CloudAwsWafv2Integration { 1952 __typename 1953 awsRegions 1954 inventoryPollingInterval 1955 metricsPollingInterval 1956 } 1957 ... on CloudAwsXrayIntegration { 1958 __typename 1959 awsRegions 1960 inventoryPollingInterval 1961 metricsPollingInterval 1962 } 1963 ... on CloudAzureApimanagementIntegration { 1964 __typename 1965 inventoryPollingInterval 1966 metricsPollingInterval 1967 resourceGroups 1968 } 1969 ... on CloudAzureAppgatewayIntegration { 1970 __typename 1971 inventoryPollingInterval 1972 metricsPollingInterval 1973 resourceGroups 1974 } 1975 ... on CloudAzureAppserviceIntegration { 1976 __typename 1977 inventoryPollingInterval 1978 metricsPollingInterval 1979 resourceGroups 1980 } 1981 ... on CloudAzureContainersIntegration { 1982 __typename 1983 inventoryPollingInterval 1984 metricsPollingInterval 1985 resourceGroups 1986 } 1987 ... on CloudAzureCosmosdbIntegration { 1988 __typename 1989 inventoryPollingInterval 1990 metricsPollingInterval 1991 resourceGroups 1992 } 1993 ... on CloudAzureCostmanagementIntegration { 1994 __typename 1995 inventoryPollingInterval 1996 metricsPollingInterval 1997 tagKeys 1998 } 1999 ... on CloudAzureDatafactoryIntegration { 2000 __typename 2001 inventoryPollingInterval 2002 metricsPollingInterval 2003 resourceGroups 2004 } 2005 ... on CloudAzureEventhubIntegration { 2006 __typename 2007 inventoryPollingInterval 2008 metricsPollingInterval 2009 resourceGroups 2010 } 2011 ... on CloudAzureExpressrouteIntegration { 2012 __typename 2013 inventoryPollingInterval 2014 metricsPollingInterval 2015 resourceGroups 2016 } 2017 ... on CloudAzureFirewallsIntegration { 2018 __typename 2019 inventoryPollingInterval 2020 metricsPollingInterval 2021 resourceGroups 2022 } 2023 ... on CloudAzureFrontdoorIntegration { 2024 __typename 2025 inventoryPollingInterval 2026 metricsPollingInterval 2027 resourceGroups 2028 } 2029 ... on CloudAzureFunctionsIntegration { 2030 __typename 2031 inventoryPollingInterval 2032 metricsPollingInterval 2033 resourceGroups 2034 } 2035 ... on CloudAzureKeyvaultIntegration { 2036 __typename 2037 inventoryPollingInterval 2038 metricsPollingInterval 2039 resourceGroups 2040 } 2041 ... on CloudAzureLoadbalancerIntegration { 2042 __typename 2043 inventoryPollingInterval 2044 metricsPollingInterval 2045 resourceGroups 2046 } 2047 ... on CloudAzureLogicappsIntegration { 2048 __typename 2049 inventoryPollingInterval 2050 metricsPollingInterval 2051 resourceGroups 2052 } 2053 ... on CloudAzureMachinelearningIntegration { 2054 __typename 2055 inventoryPollingInterval 2056 metricsPollingInterval 2057 resourceGroups 2058 } 2059 ... on CloudAzureMariadbIntegration { 2060 __typename 2061 inventoryPollingInterval 2062 metricsPollingInterval 2063 resourceGroups 2064 } 2065 ... on CloudAzureMysqlIntegration { 2066 __typename 2067 inventoryPollingInterval 2068 metricsPollingInterval 2069 resourceGroups 2070 } 2071 ... on CloudAzurePostgresqlIntegration { 2072 __typename 2073 inventoryPollingInterval 2074 metricsPollingInterval 2075 resourceGroups 2076 } 2077 ... on CloudAzurePowerbidedicatedIntegration { 2078 __typename 2079 inventoryPollingInterval 2080 metricsPollingInterval 2081 resourceGroups 2082 } 2083 ... on CloudAzureRediscacheIntegration { 2084 __typename 2085 inventoryPollingInterval 2086 metricsPollingInterval 2087 resourceGroups 2088 } 2089 ... on CloudAzureServicebusIntegration { 2090 __typename 2091 inventoryPollingInterval 2092 metricsPollingInterval 2093 resourceGroups 2094 } 2095 ... on CloudAzureSqlIntegration { 2096 __typename 2097 inventoryPollingInterval 2098 metricsPollingInterval 2099 resourceGroups 2100 } 2101 ... on CloudAzureSqlmanagedIntegration { 2102 __typename 2103 inventoryPollingInterval 2104 metricsPollingInterval 2105 resourceGroups 2106 } 2107 ... on CloudAzureStorageIntegration { 2108 __typename 2109 inventoryPollingInterval 2110 metricsPollingInterval 2111 resourceGroups 2112 } 2113 ... on CloudAzureVirtualmachineIntegration { 2114 __typename 2115 inventoryPollingInterval 2116 metricsPollingInterval 2117 resourceGroups 2118 } 2119 ... on CloudAzureVirtualnetworksIntegration { 2120 __typename 2121 inventoryPollingInterval 2122 metricsPollingInterval 2123 resourceGroups 2124 } 2125 ... on CloudAzureVmsIntegration { 2126 __typename 2127 inventoryPollingInterval 2128 metricsPollingInterval 2129 resourceGroups 2130 } 2131 ... on CloudAzureVpngatewaysIntegration { 2132 __typename 2133 inventoryPollingInterval 2134 metricsPollingInterval 2135 resourceGroups 2136 } 2137 ... on CloudBaseIntegration { 2138 __typename 2139 } 2140 ... on CloudBillingIntegration { 2141 __typename 2142 inventoryPollingInterval 2143 metricsPollingInterval 2144 } 2145 ... on CloudCloudfrontIntegration { 2146 __typename 2147 fetchLambdasAtEdge 2148 fetchTags 2149 inventoryPollingInterval 2150 metricsPollingInterval 2151 tagKey 2152 tagValue 2153 } 2154 ... on CloudCloudtrailIntegration { 2155 __typename 2156 awsRegions 2157 inventoryPollingInterval 2158 metricsPollingInterval 2159 } 2160 ... on CloudDynamodbIntegration { 2161 __typename 2162 awsRegions 2163 fetchExtendedInventory 2164 fetchTags 2165 inventoryPollingInterval 2166 metricsPollingInterval 2167 tagKey 2168 tagValue 2169 } 2170 ... on CloudEbsIntegration { 2171 __typename 2172 awsRegions 2173 fetchExtendedInventory 2174 inventoryPollingInterval 2175 metricsPollingInterval 2176 tagKey 2177 tagValue 2178 } 2179 ... on CloudEc2Integration { 2180 __typename 2181 awsRegions 2182 fetchIpAddresses 2183 inventoryPollingInterval 2184 metricsPollingInterval 2185 tagKey 2186 tagValue 2187 } 2188 ... on CloudEcsIntegration { 2189 __typename 2190 awsRegions 2191 fetchTags 2192 inventoryPollingInterval 2193 metricsPollingInterval 2194 tagKey 2195 tagValue 2196 } 2197 ... on CloudEfsIntegration { 2198 __typename 2199 awsRegions 2200 fetchTags 2201 inventoryPollingInterval 2202 metricsPollingInterval 2203 tagKey 2204 tagValue 2205 } 2206 ... on CloudElasticacheIntegration { 2207 __typename 2208 awsRegions 2209 fetchTags 2210 inventoryPollingInterval 2211 metricsPollingInterval 2212 tagKey 2213 tagValue 2214 } 2215 ... on CloudElasticbeanstalkIntegration { 2216 __typename 2217 awsRegions 2218 fetchExtendedInventory 2219 fetchTags 2220 inventoryPollingInterval 2221 metricsPollingInterval 2222 tagKey 2223 tagValue 2224 } 2225 ... on CloudElasticsearchIntegration { 2226 __typename 2227 awsRegions 2228 fetchNodes 2229 inventoryPollingInterval 2230 metricsPollingInterval 2231 tagKey 2232 tagValue 2233 } 2234 ... on CloudElbIntegration { 2235 __typename 2236 awsRegions 2237 fetchExtendedInventory 2238 fetchTags 2239 inventoryPollingInterval 2240 metricsPollingInterval 2241 } 2242 ... on CloudEmrIntegration { 2243 __typename 2244 awsRegions 2245 fetchTags 2246 inventoryPollingInterval 2247 metricsPollingInterval 2248 tagKey 2249 tagValue 2250 } 2251 ... on CloudGcpAppengineIntegration { 2252 __typename 2253 inventoryPollingInterval 2254 metricsPollingInterval 2255 } 2256 ... on CloudGcpBigqueryIntegration { 2257 __typename 2258 fetchTags 2259 inventoryPollingInterval 2260 metricsPollingInterval 2261 } 2262 ... on CloudGcpBigtableIntegration { 2263 __typename 2264 inventoryPollingInterval 2265 metricsPollingInterval 2266 } 2267 ... on CloudGcpComposerIntegration { 2268 __typename 2269 inventoryPollingInterval 2270 metricsPollingInterval 2271 } 2272 ... on CloudGcpDataflowIntegration { 2273 __typename 2274 inventoryPollingInterval 2275 metricsPollingInterval 2276 } 2277 ... on CloudGcpDataprocIntegration { 2278 __typename 2279 inventoryPollingInterval 2280 metricsPollingInterval 2281 } 2282 ... on CloudGcpDatastoreIntegration { 2283 __typename 2284 inventoryPollingInterval 2285 metricsPollingInterval 2286 } 2287 ... on CloudGcpFirebasedatabaseIntegration { 2288 __typename 2289 inventoryPollingInterval 2290 metricsPollingInterval 2291 } 2292 ... on CloudGcpFirebasehostingIntegration { 2293 __typename 2294 inventoryPollingInterval 2295 metricsPollingInterval 2296 } 2297 ... on CloudGcpFirebasestorageIntegration { 2298 __typename 2299 inventoryPollingInterval 2300 metricsPollingInterval 2301 } 2302 ... on CloudGcpFirestoreIntegration { 2303 __typename 2304 inventoryPollingInterval 2305 metricsPollingInterval 2306 } 2307 ... on CloudGcpFunctionsIntegration { 2308 __typename 2309 inventoryPollingInterval 2310 metricsPollingInterval 2311 } 2312 ... on CloudGcpInterconnectIntegration { 2313 __typename 2314 inventoryPollingInterval 2315 metricsPollingInterval 2316 } 2317 ... on CloudGcpKubernetesIntegration { 2318 __typename 2319 inventoryPollingInterval 2320 metricsPollingInterval 2321 } 2322 ... on CloudGcpLoadbalancingIntegration { 2323 __typename 2324 inventoryPollingInterval 2325 metricsPollingInterval 2326 } 2327 ... on CloudGcpMemcacheIntegration { 2328 __typename 2329 inventoryPollingInterval 2330 metricsPollingInterval 2331 } 2332 ... on CloudGcpPubsubIntegration { 2333 __typename 2334 fetchTags 2335 inventoryPollingInterval 2336 metricsPollingInterval 2337 } 2338 ... on CloudGcpRedisIntegration { 2339 __typename 2340 inventoryPollingInterval 2341 metricsPollingInterval 2342 } 2343 ... on CloudGcpRouterIntegration { 2344 __typename 2345 inventoryPollingInterval 2346 metricsPollingInterval 2347 } 2348 ... on CloudGcpRunIntegration { 2349 __typename 2350 inventoryPollingInterval 2351 metricsPollingInterval 2352 } 2353 ... on CloudGcpSpannerIntegration { 2354 __typename 2355 fetchTags 2356 inventoryPollingInterval 2357 metricsPollingInterval 2358 } 2359 ... on CloudGcpSqlIntegration { 2360 __typename 2361 inventoryPollingInterval 2362 metricsPollingInterval 2363 } 2364 ... on CloudGcpStorageIntegration { 2365 __typename 2366 fetchTags 2367 inventoryPollingInterval 2368 metricsPollingInterval 2369 } 2370 ... on CloudGcpVmsIntegration { 2371 __typename 2372 inventoryPollingInterval 2373 metricsPollingInterval 2374 } 2375 ... on CloudGcpVpcaccessIntegration { 2376 __typename 2377 inventoryPollingInterval 2378 metricsPollingInterval 2379 } 2380 ... on CloudHealthIntegration { 2381 __typename 2382 inventoryPollingInterval 2383 metricsPollingInterval 2384 } 2385 ... on CloudIamIntegration { 2386 __typename 2387 inventoryPollingInterval 2388 metricsPollingInterval 2389 tagKey 2390 tagValue 2391 } 2392 ... on CloudIotIntegration { 2393 __typename 2394 awsRegions 2395 inventoryPollingInterval 2396 metricsPollingInterval 2397 } 2398 ... on CloudKinesisFirehoseIntegration { 2399 __typename 2400 awsRegions 2401 inventoryPollingInterval 2402 metricsPollingInterval 2403 } 2404 ... on CloudKinesisIntegration { 2405 __typename 2406 awsRegions 2407 fetchShards 2408 fetchTags 2409 inventoryPollingInterval 2410 metricsPollingInterval 2411 tagKey 2412 tagValue 2413 } 2414 ... on CloudLambdaIntegration { 2415 __typename 2416 awsRegions 2417 fetchTags 2418 inventoryPollingInterval 2419 metricsPollingInterval 2420 tagKey 2421 tagValue 2422 } 2423 ... on CloudRdsIntegration { 2424 __typename 2425 awsRegions 2426 fetchTags 2427 inventoryPollingInterval 2428 metricsPollingInterval 2429 tagKey 2430 tagValue 2431 } 2432 ... on CloudRedshiftIntegration { 2433 __typename 2434 awsRegions 2435 inventoryPollingInterval 2436 metricsPollingInterval 2437 tagKey 2438 tagValue 2439 } 2440 ... on CloudRoute53Integration { 2441 __typename 2442 fetchExtendedInventory 2443 inventoryPollingInterval 2444 metricsPollingInterval 2445 } 2446 ... on CloudS3Integration { 2447 __typename 2448 fetchExtendedInventory 2449 fetchTags 2450 inventoryPollingInterval 2451 metricsPollingInterval 2452 tagKey 2453 tagValue 2454 } 2455 ... on CloudSesIntegration { 2456 __typename 2457 awsRegions 2458 inventoryPollingInterval 2459 metricsPollingInterval 2460 } 2461 ... on CloudSnsIntegration { 2462 __typename 2463 awsRegions 2464 fetchExtendedInventory 2465 inventoryPollingInterval 2466 metricsPollingInterval 2467 } 2468 ... on CloudSqsIntegration { 2469 __typename 2470 awsRegions 2471 fetchExtendedInventory 2472 fetchTags 2473 inventoryPollingInterval 2474 metricsPollingInterval 2475 queuePrefixes 2476 tagKey 2477 tagValue 2478 } 2479 ... on CloudTrustedadvisorIntegration { 2480 __typename 2481 inventoryPollingInterval 2482 metricsPollingInterval 2483 } 2484 ... on CloudVpcIntegration { 2485 __typename 2486 awsRegions 2487 fetchNatGateway 2488 fetchVpn 2489 inventoryPollingInterval 2490 metricsPollingInterval 2491 tagKey 2492 tagValue 2493 } 2494 } 2495 metricCollectionMode 2496 name 2497 nrAccountId 2498 provider { 2499 __typename 2500 createdAt 2501 icon 2502 id 2503 name 2504 services { 2505 createdAt 2506 icon 2507 id 2508 isEnabled 2509 name 2510 slug 2511 updatedAt 2512 } 2513 slug 2514 updatedAt 2515 ... on CloudAwsGovCloudProvider { 2516 __typename 2517 awsAccountId 2518 } 2519 ... on CloudAwsProvider { 2520 __typename 2521 roleAccountId 2522 roleExternalId 2523 } 2524 ... on CloudBaseProvider { 2525 __typename 2526 } 2527 ... on CloudGcpProvider { 2528 __typename 2529 serviceAccountId 2530 } 2531 } 2532 updatedAt 2533 } } } } }` 2534 2535 // Get all linked cloud provider accounts scoped to the Actor. 2536 func (a *Cloud) GetLinkedAccounts( 2537 provider string, 2538 ) (*[]CloudLinkedAccount, error) { 2539 return a.GetLinkedAccountsWithContext(context.Background(), 2540 provider, 2541 ) 2542 } 2543 2544 // Get all linked cloud provider accounts scoped to the Actor. 2545 func (a *Cloud) GetLinkedAccountsWithContext( 2546 ctx context.Context, 2547 provider string, 2548 ) (*[]CloudLinkedAccount, error) { 2549 2550 resp := linkedAccountsResponse{} 2551 vars := map[string]interface{}{ 2552 "provider": provider, 2553 } 2554 2555 if err := a.client.NerdGraphQueryWithContext(ctx, getLinkedAccountsQuery, vars, &resp); err != nil { 2556 return nil, err 2557 } 2558 2559 if len(resp.Actor.Cloud.LinkedAccounts) == 0 { 2560 return nil, errors.NewNotFound("") 2561 } 2562 2563 return &resp.Actor.Cloud.LinkedAccounts, nil 2564 } 2565 2566 const getLinkedAccountsQuery = `query( 2567 $provider: String, 2568 ) { actor { cloud { linkedAccounts( 2569 provider: $provider, 2570 ) { 2571 authLabel 2572 createdAt 2573 disabled 2574 externalId 2575 id 2576 metricCollectionMode 2577 name 2578 nrAccountId 2579 provider { 2580 __typename 2581 createdAt 2582 icon 2583 id 2584 name 2585 services { 2586 createdAt 2587 icon 2588 id 2589 isEnabled 2590 name 2591 slug 2592 updatedAt 2593 } 2594 slug 2595 updatedAt 2596 ... on CloudAwsGovCloudProvider { 2597 __typename 2598 awsAccountId 2599 } 2600 ... on CloudAwsProvider { 2601 __typename 2602 roleAccountId 2603 roleExternalId 2604 } 2605 ... on CloudBaseProvider { 2606 __typename 2607 } 2608 ... on CloudGcpProvider { 2609 __typename 2610 serviceAccountId 2611 } 2612 } 2613 updatedAt 2614 } } } }`