github.com/newrelic/newrelic-client-go@v1.1.0/pkg/cloud/types.go (about)

     1  // Code generated by tutone: DO NOT EDIT
     2  package cloud
     3  
     4  import (
     5  	"encoding/json"
     6  	"fmt"
     7  
     8  	"github.com/newrelic/newrelic-client-go/pkg/nrtime"
     9  )
    10  
    11  // CloudMetricCollectionMode - How metrics will be collected.
    12  type CloudMetricCollectionMode string
    13  
    14  var CloudMetricCollectionModeTypes = struct {
    15  	// Metrics will be pulled by NewRelic
    16  	PULL CloudMetricCollectionMode
    17  	// Metrics will be pushed by the provider
    18  	PUSH CloudMetricCollectionMode
    19  }{
    20  	// Metrics will be pulled by NewRelic
    21  	PULL: "PULL",
    22  	// Metrics will be pushed by the provider
    23  	PUSH: "PUSH",
    24  }
    25  
    26  // Account - The `Account` object provides general data about the account, as well as
    27  // being the entry point into more detailed data about a single account.
    28  //
    29  // Account configuration data is queried through this object, as well as
    30  // telemetry data that is specific to a single account.
    31  type Account struct {
    32  	// The `cloud` field provides access to cloud integrations configuration data.
    33  	//
    34  	// For details and query examples visit
    35  	// [our docs](https://docs.newrelic.com/docs/apis/graphql-api/tutorials/manage-your-aws-azure-google-cloud-integrations-graphql-api).
    36  	Cloud CloudAccountFields `json:"cloud,omitempty"`
    37  	//
    38  	ID int `json:"id,omitempty"`
    39  	//
    40  	LicenseKey string `json:"licenseKey,omitempty"`
    41  	//
    42  	Name string `json:"name,omitempty"`
    43  }
    44  
    45  // Actor - The `Actor` object contains fields that are scoped to the API user's access level.
    46  type Actor struct {
    47  	// The `cloud` field provides access to cloud integrations configuration data scoped to the Actor.
    48  	Cloud CloudActorFields `json:"cloud,omitempty"`
    49  	// The `account` field is the entry point into data that is scoped to a single account.
    50  	Account Account `json:"account,omitempty"`
    51  }
    52  
    53  // CloudAPIgatewayIntegration - API Gateway Integration
    54  type CloudAPIgatewayIntegration struct {
    55  	// Specify each AWS region that includes the resources that you want to monitor.
    56  	AwsRegions []string `json:"awsRegions,omitempty"`
    57  	// The object creation date, in epoch (Unix) time
    58  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
    59  	// The cloud service integration identifier.
    60  	ID int `json:"id,omitempty"`
    61  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
    62  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
    63  	// The parent linked account identifier.
    64  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
    65  	// The data polling interval in seconds.
    66  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
    67  	// The cloud service integration name.
    68  	Name string `json:"name,omitempty"`
    69  	// The parent NewRelic account identifier.
    70  	NrAccountId int `json:"nrAccountId"`
    71  	// The cloud service used in the integration.
    72  	Service CloudService `json:"service,omitempty"`
    73  	// Specify each name or prefix for the Stages that you want to monitor. Filter values are case-sensitive.
    74  	StagePrefixes []string `json:"stagePrefixes,omitempty"`
    75  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
    76  	TagKey string `json:"tagKey,omitempty"`
    77  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
    78  	TagValue string `json:"tagValue,omitempty"`
    79  	// The object last update date, in epoch (Unix) time
    80  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
    81  }
    82  
    83  func (x *CloudAPIgatewayIntegration) ImplementsCloudIntegration() {}
    84  
    85  // CloudAPIgatewayIntegrationInput - Amazon API Gateway
    86  type CloudAPIgatewayIntegrationInput struct {
    87  	// Specify each AWS region that includes the resources that you want to monitor.
    88  	AwsRegions []string `json:"awsRegions,omitempty"`
    89  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
    90  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
    91  	// The linked account identifier.
    92  	LinkedAccountId int `json:"linkedAccountId"`
    93  	// The data polling interval in seconds.
    94  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
    95  	// Specify each name or prefix for the Stages that you want to monitor. Filter values are case-sensitive.
    96  	StagePrefixes []string `json:"stagePrefixes,omitempty"`
    97  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
    98  	TagKey string `json:"tagKey,omitempty"`
    99  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
   100  	TagValue string `json:"tagValue,omitempty"`
   101  }
   102  
   103  // CloudAccountFields - Cloud integrations related data, including configured integrations and
   104  // all available cloud provider service integrations.
   105  type CloudAccountFields struct {
   106  	// Get one linked provider account.
   107  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   108  	// Get all linked cloud provider accounts.
   109  	LinkedAccounts []CloudLinkedAccount `json:"linkedAccounts,omitempty"`
   110  	// Get one cloud provider by short name.
   111  	Provider CloudProviderInterface `json:"provider,omitempty"`
   112  	// Get all available cloud providers.
   113  	Providers []CloudProviderInterface `json:"providers,omitempty"`
   114  }
   115  
   116  // CloudAccountMutationError - Account Mutation Error
   117  type CloudAccountMutationError struct {
   118  	// The passed linked account identifier.
   119  	LinkedAccountId int `json:"linkedAccountId,omitempty"`
   120  	// The error message.
   121  	Message string `json:"message"`
   122  	// The passed newrelic account identifier.
   123  	NrAccountId int `json:"nrAccountId"`
   124  	// The passed provider slug.
   125  	ProviderSlug string `json:"providerSlug,omitempty"`
   126  	// The error status.
   127  	Type string `json:"type"`
   128  }
   129  
   130  // CloudActorFields -
   131  type CloudActorFields struct {
   132  	// Get all linked cloud provider accounts scoped to the Actor.
   133  	LinkedAccounts []CloudLinkedAccount `json:"linkedAccounts,omitempty"`
   134  }
   135  
   136  // CloudAlbIntegration - ALB/NLB Integration
   137  type CloudAlbIntegration struct {
   138  	// Specify each AWS region that includes the resources that you want to monitor.
   139  	AwsRegions []string `json:"awsRegions,omitempty"`
   140  	// The object creation date, in epoch (Unix) time
   141  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   142  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
   143  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
   144  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
   145  	FetchTags bool `json:"fetchTags,omitempty"`
   146  	// The cloud service integration identifier.
   147  	ID int `json:"id,omitempty"`
   148  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   149  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   150  	// The parent linked account identifier.
   151  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   152  	// Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
   153  	LoadBalancerPrefixes []string `json:"loadBalancerPrefixes,omitempty"`
   154  	// The data polling interval in seconds.
   155  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   156  	// The cloud service integration name.
   157  	Name string `json:"name,omitempty"`
   158  	// The parent NewRelic account identifier.
   159  	NrAccountId int `json:"nrAccountId"`
   160  	// The cloud service used in the integration.
   161  	Service CloudService `json:"service,omitempty"`
   162  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
   163  	TagKey string `json:"tagKey,omitempty"`
   164  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
   165  	TagValue string `json:"tagValue,omitempty"`
   166  	// The object last update date, in epoch (Unix) time
   167  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   168  }
   169  
   170  func (x *CloudAlbIntegration) ImplementsCloudIntegration() {}
   171  
   172  // CloudAlbIntegrationInput - Elastic Load Balancing - Application Load Balancer (ALB)
   173  type CloudAlbIntegrationInput struct {
   174  	// Specify each AWS region that includes the resources that you want to monitor.
   175  	AwsRegions []string `json:"awsRegions,omitempty"`
   176  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
   177  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
   178  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
   179  	FetchTags bool `json:"fetchTags,omitempty"`
   180  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   181  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   182  	// The linked account identifier.
   183  	LinkedAccountId int `json:"linkedAccountId"`
   184  	// Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
   185  	LoadBalancerPrefixes []string `json:"loadBalancerPrefixes,omitempty"`
   186  	// The data polling interval in seconds.
   187  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   188  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
   189  	TagKey string `json:"tagKey,omitempty"`
   190  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
   191  	TagValue string `json:"tagValue,omitempty"`
   192  }
   193  
   194  // CloudAutoscalingIntegration - AutoScaling Integration
   195  type CloudAutoscalingIntegration struct {
   196  	// Specify each AWS region that includes the resources that you want to monitor.
   197  	AwsRegions []string `json:"awsRegions,omitempty"`
   198  	// The object creation date, in epoch (Unix) time
   199  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   200  	// The cloud service integration identifier.
   201  	ID int `json:"id,omitempty"`
   202  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   203  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   204  	// The parent linked account identifier.
   205  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   206  	// The data polling interval in seconds.
   207  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   208  	// The cloud service integration name.
   209  	Name string `json:"name,omitempty"`
   210  	// The parent NewRelic account identifier.
   211  	NrAccountId int `json:"nrAccountId"`
   212  	// The cloud service used in the integration.
   213  	Service CloudService `json:"service,omitempty"`
   214  	// The object last update date, in epoch (Unix) time
   215  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   216  }
   217  
   218  func (x *CloudAutoscalingIntegration) ImplementsCloudIntegration() {}
   219  
   220  // CloudAutoscalingIntegrationInput - AWS Auto Scaling
   221  type CloudAutoscalingIntegrationInput struct {
   222  	// Specify each AWS region that includes the resources that you want to monitor.
   223  	AwsRegions []string `json:"awsRegions,omitempty"`
   224  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   225  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   226  	// The linked account identifier.
   227  	LinkedAccountId int `json:"linkedAccountId"`
   228  	// The data polling interval in seconds.
   229  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   230  }
   231  
   232  // CloudAwsAppsyncIntegration - AppSync Integration
   233  type CloudAwsAppsyncIntegration struct {
   234  	// Specify each AWS region that includes the resources that you want to monitor.
   235  	AwsRegions []string `json:"awsRegions,omitempty"`
   236  	// The object creation date, in epoch (Unix) time
   237  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   238  	// The cloud service integration identifier.
   239  	ID int `json:"id,omitempty"`
   240  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   241  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   242  	// The parent linked account identifier.
   243  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   244  	// The data polling interval in seconds.
   245  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   246  	// The cloud service integration name.
   247  	Name string `json:"name,omitempty"`
   248  	// The parent NewRelic account identifier.
   249  	NrAccountId int `json:"nrAccountId"`
   250  	// The cloud service used in the integration.
   251  	Service CloudService `json:"service,omitempty"`
   252  	// The object last update date, in epoch (Unix) time
   253  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   254  }
   255  
   256  func (x *CloudAwsAppsyncIntegration) ImplementsCloudIntegration() {}
   257  
   258  // CloudAwsAppsyncIntegrationInput - AppSync
   259  type CloudAwsAppsyncIntegrationInput struct {
   260  	// Specify each AWS region that includes the resources that you want to monitor.
   261  	AwsRegions []string `json:"awsRegions,omitempty"`
   262  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   263  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   264  	// The linked account identifier.
   265  	LinkedAccountId int `json:"linkedAccountId"`
   266  	// The data polling interval in seconds.
   267  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   268  }
   269  
   270  // CloudAwsAthenaIntegration - Athena Integration
   271  type CloudAwsAthenaIntegration struct {
   272  	// Specify each AWS region that includes the resources that you want to monitor.
   273  	AwsRegions []string `json:"awsRegions,omitempty"`
   274  	// The object creation date, in epoch (Unix) time
   275  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   276  	// The cloud service integration identifier.
   277  	ID int `json:"id,omitempty"`
   278  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   279  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   280  	// The parent linked account identifier.
   281  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   282  	// The data polling interval in seconds.
   283  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   284  	// The cloud service integration name.
   285  	Name string `json:"name,omitempty"`
   286  	// The parent NewRelic account identifier.
   287  	NrAccountId int `json:"nrAccountId"`
   288  	// The cloud service used in the integration.
   289  	Service CloudService `json:"service,omitempty"`
   290  	// The object last update date, in epoch (Unix) time
   291  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   292  }
   293  
   294  func (x *CloudAwsAthenaIntegration) ImplementsCloudIntegration() {}
   295  
   296  // CloudAwsAthenaIntegrationInput - Athena
   297  type CloudAwsAthenaIntegrationInput struct {
   298  	// Specify each AWS region that includes the resources that you want to monitor.
   299  	AwsRegions []string `json:"awsRegions,omitempty"`
   300  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   301  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   302  	// The linked account identifier.
   303  	LinkedAccountId int `json:"linkedAccountId"`
   304  	// The data polling interval in seconds.
   305  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   306  }
   307  
   308  // CloudAwsCognitoIntegration - Cognito Integration
   309  type CloudAwsCognitoIntegration struct {
   310  	// Specify each AWS region that includes the resources that you want to monitor.
   311  	AwsRegions []string `json:"awsRegions,omitempty"`
   312  	// The object creation date, in epoch (Unix) time
   313  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   314  	// The cloud service integration identifier.
   315  	ID int `json:"id,omitempty"`
   316  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   317  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   318  	// The parent linked account identifier.
   319  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   320  	// The data polling interval in seconds.
   321  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   322  	// The cloud service integration name.
   323  	Name string `json:"name,omitempty"`
   324  	// The parent NewRelic account identifier.
   325  	NrAccountId int `json:"nrAccountId"`
   326  	// The cloud service used in the integration.
   327  	Service CloudService `json:"service,omitempty"`
   328  	// The object last update date, in epoch (Unix) time
   329  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   330  }
   331  
   332  func (x *CloudAwsCognitoIntegration) ImplementsCloudIntegration() {}
   333  
   334  // CloudAwsCognitoIntegrationInput - Cognito
   335  type CloudAwsCognitoIntegrationInput struct {
   336  	// Specify each AWS region that includes the resources that you want to monitor.
   337  	AwsRegions []string `json:"awsRegions,omitempty"`
   338  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   339  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   340  	// The linked account identifier.
   341  	LinkedAccountId int `json:"linkedAccountId"`
   342  	// The data polling interval in seconds.
   343  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   344  }
   345  
   346  // CloudAwsConnectIntegration - Connect Integration
   347  type CloudAwsConnectIntegration struct {
   348  	// Specify each AWS region that includes the resources that you want to monitor.
   349  	AwsRegions []string `json:"awsRegions,omitempty"`
   350  	// The object creation date, in epoch (Unix) time
   351  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   352  	// The cloud service integration identifier.
   353  	ID int `json:"id,omitempty"`
   354  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   355  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   356  	// The parent linked account identifier.
   357  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   358  	// The data polling interval in seconds.
   359  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   360  	// The cloud service integration name.
   361  	Name string `json:"name,omitempty"`
   362  	// The parent NewRelic account identifier.
   363  	NrAccountId int `json:"nrAccountId"`
   364  	// The cloud service used in the integration.
   365  	Service CloudService `json:"service,omitempty"`
   366  	// The object last update date, in epoch (Unix) time
   367  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   368  }
   369  
   370  func (x *CloudAwsConnectIntegration) ImplementsCloudIntegration() {}
   371  
   372  // CloudAwsConnectIntegrationInput - Connect
   373  type CloudAwsConnectIntegrationInput struct {
   374  	// Specify each AWS region that includes the resources that you want to monitor.
   375  	AwsRegions []string `json:"awsRegions,omitempty"`
   376  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   377  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   378  	// The linked account identifier.
   379  	LinkedAccountId int `json:"linkedAccountId"`
   380  	// The data polling interval in seconds.
   381  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   382  }
   383  
   384  // CloudAwsDirectconnectIntegration - Direct Connect Integration
   385  type CloudAwsDirectconnectIntegration struct {
   386  	// Specify each AWS region that includes the resources that you want to monitor.
   387  	AwsRegions []string `json:"awsRegions,omitempty"`
   388  	// The object creation date, in epoch (Unix) time
   389  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   390  	// The cloud service integration identifier.
   391  	ID int `json:"id,omitempty"`
   392  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   393  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   394  	// The parent linked account identifier.
   395  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   396  	// The data polling interval in seconds.
   397  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   398  	// The cloud service integration name.
   399  	Name string `json:"name,omitempty"`
   400  	// The parent NewRelic account identifier.
   401  	NrAccountId int `json:"nrAccountId"`
   402  	// The cloud service used in the integration.
   403  	Service CloudService `json:"service,omitempty"`
   404  	// The object last update date, in epoch (Unix) time
   405  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   406  }
   407  
   408  func (x *CloudAwsDirectconnectIntegration) ImplementsCloudIntegration() {}
   409  
   410  // CloudAwsDirectconnectIntegrationInput - Direct Connect
   411  type CloudAwsDirectconnectIntegrationInput struct {
   412  	// Specify each AWS region that includes the resources that you want to monitor.
   413  	AwsRegions []string `json:"awsRegions,omitempty"`
   414  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   415  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   416  	// The linked account identifier.
   417  	LinkedAccountId int `json:"linkedAccountId"`
   418  	// The data polling interval in seconds.
   419  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   420  }
   421  
   422  // CloudAwsDisableIntegrationsInput - List of integrations
   423  type CloudAwsDisableIntegrationsInput struct {
   424  	// API Gateway integration
   425  	APIgateway []CloudDisableAccountIntegrationInput `json:"apigateway,omitempty"`
   426  	// ALB/NLB integration
   427  	Alb []CloudDisableAccountIntegrationInput `json:"alb,omitempty"`
   428  	// AutoScaling integration
   429  	Autoscaling []CloudDisableAccountIntegrationInput `json:"autoscaling,omitempty"`
   430  	// AppSync integration
   431  	AwsAppsync []CloudDisableAccountIntegrationInput `json:"awsAppsync,omitempty"`
   432  	// Athena integration
   433  	AwsAthena []CloudDisableAccountIntegrationInput `json:"awsAthena,omitempty"`
   434  	// Cognito integration
   435  	AwsCognito []CloudDisableAccountIntegrationInput `json:"awsCognito,omitempty"`
   436  	// Connect integration
   437  	AwsConnect []CloudDisableAccountIntegrationInput `json:"awsConnect,omitempty"`
   438  	// Direct Connect integration
   439  	AwsDirectconnect []CloudDisableAccountIntegrationInput `json:"awsDirectconnect,omitempty"`
   440  	// DocumentDB integration
   441  	AwsDocdb []CloudDisableAccountIntegrationInput `json:"awsDocdb,omitempty"`
   442  	// FSx integration
   443  	AwsFsx []CloudDisableAccountIntegrationInput `json:"awsFsx,omitempty"`
   444  	// Glue integration
   445  	AwsGlue []CloudDisableAccountIntegrationInput `json:"awsGlue,omitempty"`
   446  	// Kinesis Data Analytics integration
   447  	AwsKinesisanalytics []CloudDisableAccountIntegrationInput `json:"awsKinesisanalytics,omitempty"`
   448  	// Elemental MediaConvert integration
   449  	AwsMediaconvert []CloudDisableAccountIntegrationInput `json:"awsMediaconvert,omitempty"`
   450  	// MediaPackage VOD integration
   451  	AwsMediapackagevod []CloudDisableAccountIntegrationInput `json:"awsMediapackagevod,omitempty"`
   452  	// Fetch Metadata for AWS integrations integration
   453  	AwsMetadata []CloudDisableAccountIntegrationInput `json:"awsMetadata,omitempty"`
   454  	// MQ integration
   455  	AwsMq []CloudDisableAccountIntegrationInput `json:"awsMq,omitempty"`
   456  	// Managed Kafka integration
   457  	AwsMsk []CloudDisableAccountIntegrationInput `json:"awsMsk,omitempty"`
   458  	// Neptune integration
   459  	AwsNeptune []CloudDisableAccountIntegrationInput `json:"awsNeptune,omitempty"`
   460  	// QLDB integration
   461  	AwsQldb []CloudDisableAccountIntegrationInput `json:"awsQldb,omitempty"`
   462  	// Route53 Resolver integration
   463  	AwsRoute53resolver []CloudDisableAccountIntegrationInput `json:"awsRoute53resolver,omitempty"`
   464  	// Step Functions integration
   465  	AwsStates []CloudDisableAccountIntegrationInput `json:"awsStates,omitempty"`
   466  	// Fetch tags for all integrations integration
   467  	AwsTagsGlobal []CloudDisableAccountIntegrationInput `json:"awsTagsGlobal,omitempty"`
   468  	// Transit Gateway integration
   469  	AwsTransitgateway []CloudDisableAccountIntegrationInput `json:"awsTransitgateway,omitempty"`
   470  	// WAF integration
   471  	AwsWaf []CloudDisableAccountIntegrationInput `json:"awsWaf,omitempty"`
   472  	// WAFV2 integration
   473  	AwsWafv2 []CloudDisableAccountIntegrationInput `json:"awsWafv2,omitempty"`
   474  	// X-Ray integration
   475  	AwsXray []CloudDisableAccountIntegrationInput `json:"awsXray,omitempty"`
   476  	// Billing integration
   477  	Billing []CloudDisableAccountIntegrationInput `json:"billing,omitempty"`
   478  	// CloudFront integration
   479  	Cloudfront []CloudDisableAccountIntegrationInput `json:"cloudfront,omitempty"`
   480  	// CloudTrail integration
   481  	Cloudtrail []CloudDisableAccountIntegrationInput `json:"cloudtrail,omitempty"`
   482  	// DynamoDB integration
   483  	Dynamodb []CloudDisableAccountIntegrationInput `json:"dynamodb,omitempty"`
   484  	// EBS integration
   485  	Ebs []CloudDisableAccountIntegrationInput `json:"ebs,omitempty"`
   486  	// EC2 integration
   487  	Ec2 []CloudDisableAccountIntegrationInput `json:"ec2,omitempty"`
   488  	// ECS integration
   489  	Ecs []CloudDisableAccountIntegrationInput `json:"ecs,omitempty"`
   490  	// EFS integration
   491  	Efs []CloudDisableAccountIntegrationInput `json:"efs,omitempty"`
   492  	// ElastiCache integration
   493  	Elasticache []CloudDisableAccountIntegrationInput `json:"elasticache,omitempty"`
   494  	// Elastic Beanstalk integration
   495  	Elasticbeanstalk []CloudDisableAccountIntegrationInput `json:"elasticbeanstalk,omitempty"`
   496  	// Elasticsearch Service integration
   497  	Elasticsearch []CloudDisableAccountIntegrationInput `json:"elasticsearch,omitempty"`
   498  	// ELB (Classic) integration
   499  	Elb []CloudDisableAccountIntegrationInput `json:"elb,omitempty"`
   500  	// EMR integration
   501  	Emr []CloudDisableAccountIntegrationInput `json:"emr,omitempty"`
   502  	// Health integration
   503  	Health []CloudDisableAccountIntegrationInput `json:"health,omitempty"`
   504  	// IAM integration
   505  	Iam []CloudDisableAccountIntegrationInput `json:"iam,omitempty"`
   506  	// IoT integration
   507  	Iot []CloudDisableAccountIntegrationInput `json:"iot,omitempty"`
   508  	// Kinesis Streams integration
   509  	Kinesis []CloudDisableAccountIntegrationInput `json:"kinesis,omitempty"`
   510  	// Kinesis Firehose integration
   511  	KinesisFirehose []CloudDisableAccountIntegrationInput `json:"kinesisFirehose,omitempty"`
   512  	// Lambda integration
   513  	Lambda []CloudDisableAccountIntegrationInput `json:"lambda,omitempty"`
   514  	// RDS integration
   515  	Rds []CloudDisableAccountIntegrationInput `json:"rds,omitempty"`
   516  	// Redshift integration
   517  	Redshift []CloudDisableAccountIntegrationInput `json:"redshift,omitempty"`
   518  	// Route 53 integration
   519  	Route53 []CloudDisableAccountIntegrationInput `json:"route53,omitempty"`
   520  	// S3 integration
   521  	S3 []CloudDisableAccountIntegrationInput `json:"s3,omitempty"`
   522  	// SES integration
   523  	Ses []CloudDisableAccountIntegrationInput `json:"ses,omitempty"`
   524  	// SNS integration
   525  	Sns []CloudDisableAccountIntegrationInput `json:"sns,omitempty"`
   526  	// SQS integration
   527  	Sqs []CloudDisableAccountIntegrationInput `json:"sqs,omitempty"`
   528  	// Trusted Advisor integration
   529  	Trustedadvisor []CloudDisableAccountIntegrationInput `json:"trustedadvisor,omitempty"`
   530  	// VPC integration
   531  	Vpc []CloudDisableAccountIntegrationInput `json:"vpc,omitempty"`
   532  }
   533  
   534  // CloudAwsDocdbIntegration - DocumentDB Integration
   535  type CloudAwsDocdbIntegration struct {
   536  	// Specify each AWS region that includes the resources that you want to monitor.
   537  	AwsRegions []string `json:"awsRegions,omitempty"`
   538  	// The object creation date, in epoch (Unix) time
   539  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   540  	// The cloud service integration identifier.
   541  	ID int `json:"id,omitempty"`
   542  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   543  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   544  	// The parent linked account identifier.
   545  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   546  	// The data polling interval in seconds.
   547  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   548  	// The cloud service integration name.
   549  	Name string `json:"name,omitempty"`
   550  	// The parent NewRelic account identifier.
   551  	NrAccountId int `json:"nrAccountId"`
   552  	// The cloud service used in the integration.
   553  	Service CloudService `json:"service,omitempty"`
   554  	// The object last update date, in epoch (Unix) time
   555  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   556  }
   557  
   558  func (x *CloudAwsDocdbIntegration) ImplementsCloudIntegration() {}
   559  
   560  // CloudAwsDocdbIntegrationInput - DocumentDB
   561  type CloudAwsDocdbIntegrationInput struct {
   562  	// Specify each AWS region that includes the resources that you want to monitor.
   563  	AwsRegions []string `json:"awsRegions,omitempty"`
   564  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   565  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   566  	// The linked account identifier.
   567  	LinkedAccountId int `json:"linkedAccountId"`
   568  	// The data polling interval in seconds.
   569  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   570  }
   571  
   572  // CloudAwsFsxIntegration - FSx Integration
   573  type CloudAwsFsxIntegration struct {
   574  	// Specify each AWS region that includes the resources that you want to monitor.
   575  	AwsRegions []string `json:"awsRegions,omitempty"`
   576  	// The object creation date, in epoch (Unix) time
   577  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   578  	// The cloud service integration identifier.
   579  	ID int `json:"id,omitempty"`
   580  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   581  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   582  	// The parent linked account identifier.
   583  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   584  	// The data polling interval in seconds.
   585  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   586  	// The cloud service integration name.
   587  	Name string `json:"name,omitempty"`
   588  	// The parent NewRelic account identifier.
   589  	NrAccountId int `json:"nrAccountId"`
   590  	// The cloud service used in the integration.
   591  	Service CloudService `json:"service,omitempty"`
   592  	// The object last update date, in epoch (Unix) time
   593  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   594  }
   595  
   596  func (x *CloudAwsFsxIntegration) ImplementsCloudIntegration() {}
   597  
   598  // CloudAwsFsxIntegrationInput - FSx
   599  type CloudAwsFsxIntegrationInput struct {
   600  	// Specify each AWS region that includes the resources that you want to monitor.
   601  	AwsRegions []string `json:"awsRegions,omitempty"`
   602  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   603  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   604  	// The linked account identifier.
   605  	LinkedAccountId int `json:"linkedAccountId"`
   606  	// The data polling interval in seconds.
   607  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   608  }
   609  
   610  // CloudAwsGlueIntegration - Glue Integration
   611  type CloudAwsGlueIntegration struct {
   612  	// Specify each AWS region that includes the resources that you want to monitor.
   613  	AwsRegions []string `json:"awsRegions,omitempty"`
   614  	// The object creation date, in epoch (Unix) time
   615  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   616  	// The cloud service integration identifier.
   617  	ID int `json:"id,omitempty"`
   618  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   619  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   620  	// The parent linked account identifier.
   621  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   622  	// The data polling interval in seconds.
   623  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   624  	// The cloud service integration name.
   625  	Name string `json:"name,omitempty"`
   626  	// The parent NewRelic account identifier.
   627  	NrAccountId int `json:"nrAccountId"`
   628  	// The cloud service used in the integration.
   629  	Service CloudService `json:"service,omitempty"`
   630  	// The object last update date, in epoch (Unix) time
   631  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   632  }
   633  
   634  func (x *CloudAwsGlueIntegration) ImplementsCloudIntegration() {}
   635  
   636  // CloudAwsGlueIntegrationInput - Glue
   637  type CloudAwsGlueIntegrationInput struct {
   638  	// Specify each AWS region that includes the resources that you want to monitor.
   639  	AwsRegions []string `json:"awsRegions,omitempty"`
   640  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   641  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   642  	// The linked account identifier.
   643  	LinkedAccountId int `json:"linkedAccountId"`
   644  	// The data polling interval in seconds.
   645  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   646  }
   647  
   648  // CloudAwsGovCloudProvider - The Amazon Web Services cloud provider (GovCloud)
   649  type CloudAwsGovCloudProvider struct {
   650  	// The AWS Account ID
   651  	AwsAccountId string `json:"awsAccountId"`
   652  	// The object creation date, in epoch (Unix) time
   653  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   654  	// The cloud provider identifier in NewRelic.
   655  	ID int `json:"id"`
   656  	// The cloud provider icon name.
   657  	Icon string `json:"icon"`
   658  	// The cloud provider name.
   659  	Name string `json:"name"`
   660  	// Get details of one cloud provider service.
   661  	Service CloudService `json:"service,omitempty"`
   662  	// Get details of all the cloud provider services available for integration.
   663  	Services []CloudService `json:"services"`
   664  	// The cloud provider short name.
   665  	Slug string `json:"slug"`
   666  	// The object last update date, in epoch (Unix) time
   667  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   668  }
   669  
   670  func (x *CloudAwsGovCloudProvider) ImplementsCloudProvider() {}
   671  
   672  // CloudAwsGovcloudDisableIntegrationsInput - List of integrations
   673  type CloudAwsGovcloudDisableIntegrationsInput struct {
   674  	// API Gateway integration
   675  	APIgateway []CloudDisableAccountIntegrationInput `json:"apigateway,omitempty"`
   676  	// ALB/NLB integration
   677  	Alb []CloudDisableAccountIntegrationInput `json:"alb,omitempty"`
   678  	// AutoScaling integration
   679  	Autoscaling []CloudDisableAccountIntegrationInput `json:"autoscaling,omitempty"`
   680  	// Direct Connect integration
   681  	AwsDirectconnect []CloudDisableAccountIntegrationInput `json:"awsDirectconnect,omitempty"`
   682  	// Step Functions integration
   683  	AwsStates []CloudDisableAccountIntegrationInput `json:"awsStates,omitempty"`
   684  	// CloudTrail integration
   685  	Cloudtrail []CloudDisableAccountIntegrationInput `json:"cloudtrail,omitempty"`
   686  	// DynamoDB integration
   687  	Dynamodb []CloudDisableAccountIntegrationInput `json:"dynamodb,omitempty"`
   688  	// EBS integration
   689  	Ebs []CloudDisableAccountIntegrationInput `json:"ebs,omitempty"`
   690  	// EC2 integration
   691  	Ec2 []CloudDisableAccountIntegrationInput `json:"ec2,omitempty"`
   692  	// Elasticsearch Service integration
   693  	Elasticsearch []CloudDisableAccountIntegrationInput `json:"elasticsearch,omitempty"`
   694  	// ELB (Classic) integration
   695  	Elb []CloudDisableAccountIntegrationInput `json:"elb,omitempty"`
   696  	// EMR integration
   697  	Emr []CloudDisableAccountIntegrationInput `json:"emr,omitempty"`
   698  	// IAM integration
   699  	Iam []CloudDisableAccountIntegrationInput `json:"iam,omitempty"`
   700  	// Lambda integration
   701  	Lambda []CloudDisableAccountIntegrationInput `json:"lambda,omitempty"`
   702  	// RDS integration
   703  	Rds []CloudDisableAccountIntegrationInput `json:"rds,omitempty"`
   704  	// Redshift integration
   705  	Redshift []CloudDisableAccountIntegrationInput `json:"redshift,omitempty"`
   706  	// Route 53 integration
   707  	Route53 []CloudDisableAccountIntegrationInput `json:"route53,omitempty"`
   708  	// S3 integration
   709  	S3 []CloudDisableAccountIntegrationInput `json:"s3,omitempty"`
   710  	// SNS integration
   711  	Sns []CloudDisableAccountIntegrationInput `json:"sns,omitempty"`
   712  	// SQS integration
   713  	Sqs []CloudDisableAccountIntegrationInput `json:"sqs,omitempty"`
   714  }
   715  
   716  // CloudAwsGovcloudIntegrationsInput - List of integrations
   717  type CloudAwsGovcloudIntegrationsInput struct {
   718  	// API Gateway integration
   719  	APIgateway []CloudAPIgatewayIntegrationInput `json:"apigateway,omitempty"`
   720  	// ALB/NLB integration
   721  	Alb []CloudAlbIntegrationInput `json:"alb,omitempty"`
   722  	// AutoScaling integration
   723  	Autoscaling []CloudAutoscalingIntegrationInput `json:"autoscaling,omitempty"`
   724  	// Direct Connect integration
   725  	AwsDirectconnect []CloudAwsDirectconnectIntegrationInput `json:"awsDirectconnect,omitempty"`
   726  	// Step Functions integration
   727  	AwsStates []CloudAwsStatesIntegrationInput `json:"awsStates,omitempty"`
   728  	// CloudTrail integration
   729  	Cloudtrail []CloudCloudtrailIntegrationInput `json:"cloudtrail,omitempty"`
   730  	// DynamoDB integration
   731  	Dynamodb []CloudDynamodbIntegrationInput `json:"dynamodb,omitempty"`
   732  	// EBS integration
   733  	Ebs []CloudEbsIntegrationInput `json:"ebs,omitempty"`
   734  	// EC2 integration
   735  	Ec2 []CloudEc2IntegrationInput `json:"ec2,omitempty"`
   736  	// Elasticsearch Service integration
   737  	Elasticsearch []CloudElasticsearchIntegrationInput `json:"elasticsearch,omitempty"`
   738  	// ELB (Classic) integration
   739  	Elb []CloudElbIntegrationInput `json:"elb,omitempty"`
   740  	// EMR integration
   741  	Emr []CloudEmrIntegrationInput `json:"emr,omitempty"`
   742  	// IAM integration
   743  	Iam []CloudIamIntegrationInput `json:"iam,omitempty"`
   744  	// Lambda integration
   745  	Lambda []CloudLambdaIntegrationInput `json:"lambda,omitempty"`
   746  	// RDS integration
   747  	Rds []CloudRdsIntegrationInput `json:"rds,omitempty"`
   748  	// Redshift integration
   749  	Redshift []CloudRedshiftIntegrationInput `json:"redshift,omitempty"`
   750  	// Route 53 integration
   751  	Route53 []CloudRoute53IntegrationInput `json:"route53,omitempty"`
   752  	// S3 integration
   753  	S3 []CloudS3IntegrationInput `json:"s3,omitempty"`
   754  	// SNS integration
   755  	Sns []CloudSnsIntegrationInput `json:"sns,omitempty"`
   756  	// SQS integration
   757  	Sqs []CloudSqsIntegrationInput `json:"sqs,omitempty"`
   758  }
   759  
   760  // CloudAwsGovcloudLinkAccountInput - Information required to link an AWS GovCloud account to a NewRelic account.
   761  type CloudAwsGovcloudLinkAccountInput struct {
   762  	// The key used to make requests to AWS service APIs
   763  	AccessKeyId string `json:"accessKeyId"`
   764  	// The AWS account id
   765  	AwsAccountId string `json:"awsAccountId"`
   766  	// How metrics will be collected.
   767  	MetricCollectionMode CloudMetricCollectionMode `json:"metricCollectionMode,omitempty"`
   768  	// The linked account name.
   769  	Name string `json:"name"`
   770  	// The secret key used to make requests to AWS service APIs
   771  	SecretAccessKey SecureValue `json:"secretAccessKey"`
   772  }
   773  
   774  // CloudAwsIntegrationsInput - List of integrations
   775  type CloudAwsIntegrationsInput struct {
   776  	// API Gateway integration
   777  	APIgateway []CloudAPIgatewayIntegrationInput `json:"apigateway,omitempty"`
   778  	// ALB/NLB integration
   779  	Alb []CloudAlbIntegrationInput `json:"alb,omitempty"`
   780  	// AutoScaling integration
   781  	Autoscaling []CloudAutoscalingIntegrationInput `json:"autoscaling,omitempty"`
   782  	// AppSync integration
   783  	AwsAppsync []CloudAwsAppsyncIntegrationInput `json:"awsAppsync,omitempty"`
   784  	// Athena integration
   785  	AwsAthena []CloudAwsAthenaIntegrationInput `json:"awsAthena,omitempty"`
   786  	// Cognito integration
   787  	AwsCognito []CloudAwsCognitoIntegrationInput `json:"awsCognito,omitempty"`
   788  	// Connect integration
   789  	AwsConnect []CloudAwsConnectIntegrationInput `json:"awsConnect,omitempty"`
   790  	// Direct Connect integration
   791  	AwsDirectconnect []CloudAwsDirectconnectIntegrationInput `json:"awsDirectconnect,omitempty"`
   792  	// DocumentDB integration
   793  	AwsDocdb []CloudAwsDocdbIntegrationInput `json:"awsDocdb,omitempty"`
   794  	// FSx integration
   795  	AwsFsx []CloudAwsFsxIntegrationInput `json:"awsFsx,omitempty"`
   796  	// Glue integration
   797  	AwsGlue []CloudAwsGlueIntegrationInput `json:"awsGlue,omitempty"`
   798  	// Kinesis Data Analytics integration
   799  	AwsKinesisanalytics []CloudAwsKinesisanalyticsIntegrationInput `json:"awsKinesisanalytics,omitempty"`
   800  	// Elemental MediaConvert integration
   801  	AwsMediaconvert []CloudAwsMediaconvertIntegrationInput `json:"awsMediaconvert,omitempty"`
   802  	// MediaPackage VOD integration
   803  	AwsMediapackagevod []CloudAwsMediapackagevodIntegrationInput `json:"awsMediapackagevod,omitempty"`
   804  	// Fetch Metadata for AWS integrations integration
   805  	AwsMetadata []CloudAwsMetadataIntegrationInput `json:"awsMetadata,omitempty"`
   806  	// MQ integration
   807  	AwsMq []CloudAwsMqIntegrationInput `json:"awsMq,omitempty"`
   808  	// Managed Kafka integration
   809  	AwsMsk []CloudAwsMskIntegrationInput `json:"awsMsk,omitempty"`
   810  	// Neptune integration
   811  	AwsNeptune []CloudAwsNeptuneIntegrationInput `json:"awsNeptune,omitempty"`
   812  	// QLDB integration
   813  	AwsQldb []CloudAwsQldbIntegrationInput `json:"awsQldb,omitempty"`
   814  	// Route53 Resolver integration
   815  	AwsRoute53resolver []CloudAwsRoute53resolverIntegrationInput `json:"awsRoute53resolver,omitempty"`
   816  	// Step Functions integration
   817  	AwsStates []CloudAwsStatesIntegrationInput `json:"awsStates,omitempty"`
   818  	// Fetch tags for all integrations integration
   819  	AwsTagsGlobal []CloudAwsTagsGlobalIntegrationInput `json:"awsTagsGlobal,omitempty"`
   820  	// Transit Gateway integration
   821  	AwsTransitgateway []CloudAwsTransitgatewayIntegrationInput `json:"awsTransitgateway,omitempty"`
   822  	// WAF integration
   823  	AwsWaf []CloudAwsWafIntegrationInput `json:"awsWaf,omitempty"`
   824  	// WAFV2 integration
   825  	AwsWafv2 []CloudAwsWafv2IntegrationInput `json:"awsWafv2,omitempty"`
   826  	// X-Ray integration
   827  	AwsXray []CloudAwsXrayIntegrationInput `json:"awsXray,omitempty"`
   828  	// Billing integration
   829  	Billing []CloudBillingIntegrationInput `json:"billing,omitempty"`
   830  	// CloudFront integration
   831  	Cloudfront []CloudCloudfrontIntegrationInput `json:"cloudfront,omitempty"`
   832  	// CloudTrail integration
   833  	Cloudtrail []CloudCloudtrailIntegrationInput `json:"cloudtrail,omitempty"`
   834  	// DynamoDB integration
   835  	Dynamodb []CloudDynamodbIntegrationInput `json:"dynamodb,omitempty"`
   836  	// EBS integration
   837  	Ebs []CloudEbsIntegrationInput `json:"ebs,omitempty"`
   838  	// EC2 integration
   839  	Ec2 []CloudEc2IntegrationInput `json:"ec2,omitempty"`
   840  	// ECS integration
   841  	Ecs []CloudEcsIntegrationInput `json:"ecs,omitempty"`
   842  	// EFS integration
   843  	Efs []CloudEfsIntegrationInput `json:"efs,omitempty"`
   844  	// ElastiCache integration
   845  	Elasticache []CloudElasticacheIntegrationInput `json:"elasticache,omitempty"`
   846  	// Elastic Beanstalk integration
   847  	Elasticbeanstalk []CloudElasticbeanstalkIntegrationInput `json:"elasticbeanstalk,omitempty"`
   848  	// Elasticsearch Service integration
   849  	Elasticsearch []CloudElasticsearchIntegrationInput `json:"elasticsearch,omitempty"`
   850  	// ELB (Classic) integration
   851  	Elb []CloudElbIntegrationInput `json:"elb,omitempty"`
   852  	// EMR integration
   853  	Emr []CloudEmrIntegrationInput `json:"emr,omitempty"`
   854  	// Health integration
   855  	Health []CloudHealthIntegrationInput `json:"health,omitempty"`
   856  	// IAM integration
   857  	Iam []CloudIamIntegrationInput `json:"iam,omitempty"`
   858  	// IoT integration
   859  	Iot []CloudIotIntegrationInput `json:"iot,omitempty"`
   860  	// Kinesis Streams integration
   861  	Kinesis []CloudKinesisIntegrationInput `json:"kinesis,omitempty"`
   862  	// Kinesis Firehose integration
   863  	KinesisFirehose []CloudKinesisFirehoseIntegrationInput `json:"kinesisFirehose,omitempty"`
   864  	// Lambda integration
   865  	Lambda []CloudLambdaIntegrationInput `json:"lambda,omitempty"`
   866  	// RDS integration
   867  	Rds []CloudRdsIntegrationInput `json:"rds,omitempty"`
   868  	// Redshift integration
   869  	Redshift []CloudRedshiftIntegrationInput `json:"redshift,omitempty"`
   870  	// Route 53 integration
   871  	Route53 []CloudRoute53IntegrationInput `json:"route53,omitempty"`
   872  	// S3 integration
   873  	S3 []CloudS3IntegrationInput `json:"s3,omitempty"`
   874  	// SES integration
   875  	Ses []CloudSesIntegrationInput `json:"ses,omitempty"`
   876  	// SNS integration
   877  	Sns []CloudSnsIntegrationInput `json:"sns,omitempty"`
   878  	// SQS integration
   879  	Sqs []CloudSqsIntegrationInput `json:"sqs,omitempty"`
   880  	// Trusted Advisor integration
   881  	Trustedadvisor []CloudTrustedadvisorIntegrationInput `json:"trustedadvisor,omitempty"`
   882  	// VPC integration
   883  	Vpc []CloudVpcIntegrationInput `json:"vpc,omitempty"`
   884  }
   885  
   886  // CloudAwsKinesisanalyticsIntegration - Kinesis Data Analytics Integration
   887  type CloudAwsKinesisanalyticsIntegration struct {
   888  	// Specify each AWS region that includes the resources that you want to monitor.
   889  	AwsRegions []string `json:"awsRegions,omitempty"`
   890  	// The object creation date, in epoch (Unix) time
   891  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   892  	// The cloud service integration identifier.
   893  	ID int `json:"id,omitempty"`
   894  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   895  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   896  	// The parent linked account identifier.
   897  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   898  	// The data polling interval in seconds.
   899  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   900  	// The cloud service integration name.
   901  	Name string `json:"name,omitempty"`
   902  	// The parent NewRelic account identifier.
   903  	NrAccountId int `json:"nrAccountId"`
   904  	// The cloud service used in the integration.
   905  	Service CloudService `json:"service,omitempty"`
   906  	// The object last update date, in epoch (Unix) time
   907  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   908  }
   909  
   910  func (x *CloudAwsKinesisanalyticsIntegration) ImplementsCloudIntegration() {}
   911  
   912  // CloudAwsKinesisanalyticsIntegrationInput - Kinesis Data Analytics
   913  type CloudAwsKinesisanalyticsIntegrationInput struct {
   914  	// Specify each AWS region that includes the resources that you want to monitor.
   915  	AwsRegions []string `json:"awsRegions,omitempty"`
   916  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   917  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   918  	// The linked account identifier.
   919  	LinkedAccountId int `json:"linkedAccountId"`
   920  	// The data polling interval in seconds.
   921  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   922  }
   923  
   924  // CloudAwsLinkAccountInput - Information required to link a AWS account to a NewRelic account.
   925  type CloudAwsLinkAccountInput struct {
   926  	// The AWS role ARN (used to fetch data).
   927  	Arn string `json:"arn"`
   928  	// How metrics will be collected.
   929  	MetricCollectionMode CloudMetricCollectionMode `json:"metricCollectionMode,omitempty"`
   930  	// The linked account name.
   931  	Name string `json:"name"`
   932  }
   933  
   934  // CloudAwsMediaconvertIntegration - Elemental MediaConvert Integration
   935  type CloudAwsMediaconvertIntegration struct {
   936  	// Specify each AWS region that includes the resources that you want to monitor.
   937  	AwsRegions []string `json:"awsRegions,omitempty"`
   938  	// The object creation date, in epoch (Unix) time
   939  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   940  	// The cloud service integration identifier.
   941  	ID int `json:"id,omitempty"`
   942  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   943  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   944  	// The parent linked account identifier.
   945  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   946  	// The data polling interval in seconds.
   947  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   948  	// The cloud service integration name.
   949  	Name string `json:"name,omitempty"`
   950  	// The parent NewRelic account identifier.
   951  	NrAccountId int `json:"nrAccountId"`
   952  	// The cloud service used in the integration.
   953  	Service CloudService `json:"service,omitempty"`
   954  	// The object last update date, in epoch (Unix) time
   955  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   956  }
   957  
   958  func (x *CloudAwsMediaconvertIntegration) ImplementsCloudIntegration() {}
   959  
   960  // CloudAwsMediaconvertIntegrationInput - Elemental MediaConvert
   961  type CloudAwsMediaconvertIntegrationInput struct {
   962  	// Specify each AWS region that includes the resources that you want to monitor.
   963  	AwsRegions []string `json:"awsRegions,omitempty"`
   964  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   965  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   966  	// The linked account identifier.
   967  	LinkedAccountId int `json:"linkedAccountId"`
   968  	// The data polling interval in seconds.
   969  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   970  }
   971  
   972  // CloudAwsMediapackagevodIntegration - MediaPackage VOD Integration
   973  type CloudAwsMediapackagevodIntegration struct {
   974  	// Specify each AWS region that includes the resources that you want to monitor.
   975  	AwsRegions []string `json:"awsRegions,omitempty"`
   976  	// The object creation date, in epoch (Unix) time
   977  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
   978  	// The cloud service integration identifier.
   979  	ID int `json:"id,omitempty"`
   980  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
   981  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
   982  	// The parent linked account identifier.
   983  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
   984  	// The data polling interval in seconds.
   985  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
   986  	// The cloud service integration name.
   987  	Name string `json:"name,omitempty"`
   988  	// The parent NewRelic account identifier.
   989  	NrAccountId int `json:"nrAccountId"`
   990  	// The cloud service used in the integration.
   991  	Service CloudService `json:"service,omitempty"`
   992  	// The object last update date, in epoch (Unix) time
   993  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
   994  }
   995  
   996  func (x *CloudAwsMediapackagevodIntegration) ImplementsCloudIntegration() {}
   997  
   998  // CloudAwsMediapackagevodIntegrationInput - MediaPackage VOD
   999  type CloudAwsMediapackagevodIntegrationInput struct {
  1000  	// Specify each AWS region that includes the resources that you want to monitor.
  1001  	AwsRegions []string `json:"awsRegions,omitempty"`
  1002  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1003  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1004  	// The linked account identifier.
  1005  	LinkedAccountId int `json:"linkedAccountId"`
  1006  	// The data polling interval in seconds.
  1007  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1008  }
  1009  
  1010  // CloudAwsMetadataIntegration - Fetch Metadata for AWS integrations Integration
  1011  type CloudAwsMetadataIntegration struct {
  1012  	// The object creation date, in epoch (Unix) time
  1013  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1014  	// The cloud service integration identifier.
  1015  	ID int `json:"id,omitempty"`
  1016  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1017  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1018  	// The parent linked account identifier.
  1019  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1020  	// The data polling interval in seconds.
  1021  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1022  	// The cloud service integration name.
  1023  	Name string `json:"name,omitempty"`
  1024  	// The parent NewRelic account identifier.
  1025  	NrAccountId int `json:"nrAccountId"`
  1026  	// The cloud service used in the integration.
  1027  	Service CloudService `json:"service,omitempty"`
  1028  	// The object last update date, in epoch (Unix) time
  1029  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1030  }
  1031  
  1032  func (x *CloudAwsMetadataIntegration) ImplementsCloudIntegration() {}
  1033  
  1034  // CloudAwsMetadataIntegrationInput - Fetch Metadata for AWS integrations
  1035  type CloudAwsMetadataIntegrationInput struct {
  1036  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1037  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1038  	// The linked account identifier.
  1039  	LinkedAccountId int `json:"linkedAccountId"`
  1040  	// The data polling interval in seconds.
  1041  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1042  }
  1043  
  1044  // CloudAwsMqIntegration - MQ Integration
  1045  type CloudAwsMqIntegration struct {
  1046  	// Specify each AWS region that includes the resources that you want to monitor.
  1047  	AwsRegions []string `json:"awsRegions,omitempty"`
  1048  	// The object creation date, in epoch (Unix) time
  1049  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1050  	// The cloud service integration identifier.
  1051  	ID int `json:"id,omitempty"`
  1052  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1053  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1054  	// The parent linked account identifier.
  1055  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1056  	// The data polling interval in seconds.
  1057  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1058  	// The cloud service integration name.
  1059  	Name string `json:"name,omitempty"`
  1060  	// The parent NewRelic account identifier.
  1061  	NrAccountId int `json:"nrAccountId"`
  1062  	// The cloud service used in the integration.
  1063  	Service CloudService `json:"service,omitempty"`
  1064  	// The object last update date, in epoch (Unix) time
  1065  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1066  }
  1067  
  1068  func (x *CloudAwsMqIntegration) ImplementsCloudIntegration() {}
  1069  
  1070  // CloudAwsMqIntegrationInput - MQ
  1071  type CloudAwsMqIntegrationInput struct {
  1072  	// Specify each AWS region that includes the resources that you want to monitor.
  1073  	AwsRegions []string `json:"awsRegions,omitempty"`
  1074  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1075  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1076  	// The linked account identifier.
  1077  	LinkedAccountId int `json:"linkedAccountId"`
  1078  	// The data polling interval in seconds.
  1079  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1080  }
  1081  
  1082  // CloudAwsMskIntegration - Managed Kafka Integration
  1083  type CloudAwsMskIntegration struct {
  1084  	// Specify each AWS region that includes the resources that you want to monitor.
  1085  	AwsRegions []string `json:"awsRegions,omitempty"`
  1086  	// The object creation date, in epoch (Unix) time
  1087  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1088  	// The cloud service integration identifier.
  1089  	ID int `json:"id,omitempty"`
  1090  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1091  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1092  	// The parent linked account identifier.
  1093  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1094  	// The data polling interval in seconds.
  1095  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1096  	// The cloud service integration name.
  1097  	Name string `json:"name,omitempty"`
  1098  	// The parent NewRelic account identifier.
  1099  	NrAccountId int `json:"nrAccountId"`
  1100  	// The cloud service used in the integration.
  1101  	Service CloudService `json:"service,omitempty"`
  1102  	// The object last update date, in epoch (Unix) time
  1103  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1104  }
  1105  
  1106  func (x *CloudAwsMskIntegration) ImplementsCloudIntegration() {}
  1107  
  1108  // CloudAwsMskIntegrationInput - Managed Kafka
  1109  type CloudAwsMskIntegrationInput struct {
  1110  	// Specify each AWS region that includes the resources that you want to monitor.
  1111  	AwsRegions []string `json:"awsRegions,omitempty"`
  1112  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1113  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1114  	// The linked account identifier.
  1115  	LinkedAccountId int `json:"linkedAccountId"`
  1116  	// The data polling interval in seconds.
  1117  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1118  }
  1119  
  1120  // CloudAwsNeptuneIntegration - Neptune Integration
  1121  type CloudAwsNeptuneIntegration struct {
  1122  	// Specify each AWS region that includes the resources that you want to monitor.
  1123  	AwsRegions []string `json:"awsRegions,omitempty"`
  1124  	// The object creation date, in epoch (Unix) time
  1125  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1126  	// The cloud service integration identifier.
  1127  	ID int `json:"id,omitempty"`
  1128  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1129  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1130  	// The parent linked account identifier.
  1131  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1132  	// The data polling interval in seconds.
  1133  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1134  	// The cloud service integration name.
  1135  	Name string `json:"name,omitempty"`
  1136  	// The parent NewRelic account identifier.
  1137  	NrAccountId int `json:"nrAccountId"`
  1138  	// The cloud service used in the integration.
  1139  	Service CloudService `json:"service,omitempty"`
  1140  	// The object last update date, in epoch (Unix) time
  1141  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1142  }
  1143  
  1144  func (x *CloudAwsNeptuneIntegration) ImplementsCloudIntegration() {}
  1145  
  1146  // CloudAwsNeptuneIntegrationInput - Neptune
  1147  type CloudAwsNeptuneIntegrationInput struct {
  1148  	// Specify each AWS region that includes the resources that you want to monitor.
  1149  	AwsRegions []string `json:"awsRegions,omitempty"`
  1150  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1151  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1152  	// The linked account identifier.
  1153  	LinkedAccountId int `json:"linkedAccountId"`
  1154  	// The data polling interval in seconds.
  1155  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1156  }
  1157  
  1158  // CloudAwsProvider - The Amazon Web Services cloud provider
  1159  type CloudAwsProvider struct {
  1160  	// The object creation date, in epoch (Unix) time
  1161  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1162  	// The cloud provider identifier in NewRelic.
  1163  	ID int `json:"id"`
  1164  	// The cloud provider icon name.
  1165  	Icon string `json:"icon"`
  1166  	// The cloud provider name.
  1167  	Name string `json:"name"`
  1168  	// The New Relic AWS Account ID that will use the Role.
  1169  	RoleAccountId string `json:"roleAccountId"`
  1170  	// The external ID required to assume the Role by the New Relic Account.
  1171  	RoleExternalId string `json:"roleExternalId"`
  1172  	// Get details of one cloud provider service.
  1173  	Service CloudService `json:"service,omitempty"`
  1174  	// Get details of all the cloud provider services available for integration.
  1175  	Services []CloudService `json:"services"`
  1176  	// The cloud provider short name.
  1177  	Slug string `json:"slug"`
  1178  	// The object last update date, in epoch (Unix) time
  1179  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1180  }
  1181  
  1182  func (x *CloudAwsProvider) ImplementsCloudProvider() {}
  1183  
  1184  // CloudAwsQldbIntegration - QLDB Integration
  1185  type CloudAwsQldbIntegration struct {
  1186  	// Specify each AWS region that includes the resources that you want to monitor.
  1187  	AwsRegions []string `json:"awsRegions,omitempty"`
  1188  	// The object creation date, in epoch (Unix) time
  1189  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1190  	// The cloud service integration identifier.
  1191  	ID int `json:"id,omitempty"`
  1192  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1193  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1194  	// The parent linked account identifier.
  1195  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1196  	// The data polling interval in seconds.
  1197  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1198  	// The cloud service integration name.
  1199  	Name string `json:"name,omitempty"`
  1200  	// The parent NewRelic account identifier.
  1201  	NrAccountId int `json:"nrAccountId"`
  1202  	// The cloud service used in the integration.
  1203  	Service CloudService `json:"service,omitempty"`
  1204  	// The object last update date, in epoch (Unix) time
  1205  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1206  }
  1207  
  1208  func (x *CloudAwsQldbIntegration) ImplementsCloudIntegration() {}
  1209  
  1210  // CloudAwsQldbIntegrationInput - QLDB
  1211  type CloudAwsQldbIntegrationInput struct {
  1212  	// Specify each AWS region that includes the resources that you want to monitor.
  1213  	AwsRegions []string `json:"awsRegions,omitempty"`
  1214  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1215  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1216  	// The linked account identifier.
  1217  	LinkedAccountId int `json:"linkedAccountId"`
  1218  	// The data polling interval in seconds.
  1219  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1220  }
  1221  
  1222  // CloudAwsRoute53resolverIntegration - Route53 Resolver Integration
  1223  type CloudAwsRoute53resolverIntegration struct {
  1224  	// Specify each AWS region that includes the resources that you want to monitor.
  1225  	AwsRegions []string `json:"awsRegions,omitempty"`
  1226  	// The object creation date, in epoch (Unix) time
  1227  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1228  	// The cloud service integration identifier.
  1229  	ID int `json:"id,omitempty"`
  1230  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1231  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1232  	// The parent linked account identifier.
  1233  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1234  	// The data polling interval in seconds.
  1235  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1236  	// The cloud service integration name.
  1237  	Name string `json:"name,omitempty"`
  1238  	// The parent NewRelic account identifier.
  1239  	NrAccountId int `json:"nrAccountId"`
  1240  	// The cloud service used in the integration.
  1241  	Service CloudService `json:"service,omitempty"`
  1242  	// The object last update date, in epoch (Unix) time
  1243  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1244  }
  1245  
  1246  func (x *CloudAwsRoute53resolverIntegration) ImplementsCloudIntegration() {}
  1247  
  1248  // CloudAwsRoute53resolverIntegrationInput - Route53 Resolver
  1249  type CloudAwsRoute53resolverIntegrationInput struct {
  1250  	// Specify each AWS region that includes the resources that you want to monitor.
  1251  	AwsRegions []string `json:"awsRegions,omitempty"`
  1252  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1253  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1254  	// The linked account identifier.
  1255  	LinkedAccountId int `json:"linkedAccountId"`
  1256  	// The data polling interval in seconds.
  1257  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1258  }
  1259  
  1260  // CloudAwsStatesIntegration - Step Functions Integration
  1261  type CloudAwsStatesIntegration struct {
  1262  	// Specify each AWS region that includes the resources that you want to monitor.
  1263  	AwsRegions []string `json:"awsRegions,omitempty"`
  1264  	// The object creation date, in epoch (Unix) time
  1265  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1266  	// The cloud service integration identifier.
  1267  	ID int `json:"id,omitempty"`
  1268  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1269  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1270  	// The parent linked account identifier.
  1271  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1272  	// The data polling interval in seconds.
  1273  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1274  	// The cloud service integration name.
  1275  	Name string `json:"name,omitempty"`
  1276  	// The parent NewRelic account identifier.
  1277  	NrAccountId int `json:"nrAccountId"`
  1278  	// The cloud service used in the integration.
  1279  	Service CloudService `json:"service,omitempty"`
  1280  	// The object last update date, in epoch (Unix) time
  1281  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1282  }
  1283  
  1284  func (x *CloudAwsStatesIntegration) ImplementsCloudIntegration() {}
  1285  
  1286  // CloudAwsStatesIntegrationInput - Step Functions
  1287  type CloudAwsStatesIntegrationInput struct {
  1288  	// Specify each AWS region that includes the resources that you want to monitor.
  1289  	AwsRegions []string `json:"awsRegions,omitempty"`
  1290  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1291  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1292  	// The linked account identifier.
  1293  	LinkedAccountId int `json:"linkedAccountId"`
  1294  	// The data polling interval in seconds.
  1295  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1296  }
  1297  
  1298  // CloudAwsTagsGlobalIntegration - Fetch tags for all integrations Integration
  1299  type CloudAwsTagsGlobalIntegration struct {
  1300  	// The object creation date, in epoch (Unix) time
  1301  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1302  	// The cloud service integration identifier.
  1303  	ID int `json:"id,omitempty"`
  1304  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1305  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1306  	// The parent linked account identifier.
  1307  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1308  	// The data polling interval in seconds.
  1309  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1310  	// The cloud service integration name.
  1311  	Name string `json:"name,omitempty"`
  1312  	// The parent NewRelic account identifier.
  1313  	NrAccountId int `json:"nrAccountId"`
  1314  	// The cloud service used in the integration.
  1315  	Service CloudService `json:"service,omitempty"`
  1316  	// The object last update date, in epoch (Unix) time
  1317  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1318  }
  1319  
  1320  func (x *CloudAwsTagsGlobalIntegration) ImplementsCloudIntegration() {}
  1321  
  1322  // CloudAwsTagsGlobalIntegrationInput - Fetch tags for all integrations
  1323  type CloudAwsTagsGlobalIntegrationInput struct {
  1324  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1325  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1326  	// The linked account identifier.
  1327  	LinkedAccountId int `json:"linkedAccountId"`
  1328  	// The data polling interval in seconds.
  1329  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1330  }
  1331  
  1332  // CloudAwsTransitgatewayIntegration - Transit Gateway Integration
  1333  type CloudAwsTransitgatewayIntegration struct {
  1334  	// Specify each AWS region that includes the resources that you want to monitor.
  1335  	AwsRegions []string `json:"awsRegions,omitempty"`
  1336  	// The object creation date, in epoch (Unix) time
  1337  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1338  	// The cloud service integration identifier.
  1339  	ID int `json:"id,omitempty"`
  1340  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1341  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1342  	// The parent linked account identifier.
  1343  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1344  	// The data polling interval in seconds.
  1345  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1346  	// The cloud service integration name.
  1347  	Name string `json:"name,omitempty"`
  1348  	// The parent NewRelic account identifier.
  1349  	NrAccountId int `json:"nrAccountId"`
  1350  	// The cloud service used in the integration.
  1351  	Service CloudService `json:"service,omitempty"`
  1352  	// The object last update date, in epoch (Unix) time
  1353  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1354  }
  1355  
  1356  func (x *CloudAwsTransitgatewayIntegration) ImplementsCloudIntegration() {}
  1357  
  1358  // CloudAwsTransitgatewayIntegrationInput - Transit Gateway
  1359  type CloudAwsTransitgatewayIntegrationInput struct {
  1360  	// Specify each AWS region that includes the resources that you want to monitor.
  1361  	AwsRegions []string `json:"awsRegions,omitempty"`
  1362  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1363  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1364  	// The linked account identifier.
  1365  	LinkedAccountId int `json:"linkedAccountId"`
  1366  	// The data polling interval in seconds.
  1367  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1368  }
  1369  
  1370  // CloudAwsWafIntegration - WAF Integration
  1371  type CloudAwsWafIntegration struct {
  1372  	// Specify each AWS region that includes the resources that you want to monitor.
  1373  	AwsRegions []string `json:"awsRegions,omitempty"`
  1374  	// The object creation date, in epoch (Unix) time
  1375  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1376  	// The cloud service integration identifier.
  1377  	ID int `json:"id,omitempty"`
  1378  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1379  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1380  	// The parent linked account identifier.
  1381  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1382  	// The data polling interval in seconds.
  1383  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1384  	// The cloud service integration name.
  1385  	Name string `json:"name,omitempty"`
  1386  	// The parent NewRelic account identifier.
  1387  	NrAccountId int `json:"nrAccountId"`
  1388  	// The cloud service used in the integration.
  1389  	Service CloudService `json:"service,omitempty"`
  1390  	// The object last update date, in epoch (Unix) time
  1391  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1392  }
  1393  
  1394  func (x *CloudAwsWafIntegration) ImplementsCloudIntegration() {}
  1395  
  1396  // CloudAwsWafIntegrationInput - WAF
  1397  type CloudAwsWafIntegrationInput struct {
  1398  	// Specify each AWS region that includes the resources that you want to monitor.
  1399  	AwsRegions []string `json:"awsRegions,omitempty"`
  1400  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1401  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1402  	// The linked account identifier.
  1403  	LinkedAccountId int `json:"linkedAccountId"`
  1404  	// The data polling interval in seconds.
  1405  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1406  }
  1407  
  1408  // CloudAwsWafv2Integration - WAFV2 Integration
  1409  type CloudAwsWafv2Integration struct {
  1410  	// Specify each AWS region that includes the resources that you want to monitor.
  1411  	AwsRegions []string `json:"awsRegions,omitempty"`
  1412  	// The object creation date, in epoch (Unix) time
  1413  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1414  	// The cloud service integration identifier.
  1415  	ID int `json:"id,omitempty"`
  1416  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1417  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1418  	// The parent linked account identifier.
  1419  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1420  	// The data polling interval in seconds.
  1421  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1422  	// The cloud service integration name.
  1423  	Name string `json:"name,omitempty"`
  1424  	// The parent NewRelic account identifier.
  1425  	NrAccountId int `json:"nrAccountId"`
  1426  	// The cloud service used in the integration.
  1427  	Service CloudService `json:"service,omitempty"`
  1428  	// The object last update date, in epoch (Unix) time
  1429  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1430  }
  1431  
  1432  func (x *CloudAwsWafv2Integration) ImplementsCloudIntegration() {}
  1433  
  1434  // CloudAwsWafv2IntegrationInput - WAFV2
  1435  type CloudAwsWafv2IntegrationInput struct {
  1436  	// Specify each AWS region that includes the resources that you want to monitor.
  1437  	AwsRegions []string `json:"awsRegions,omitempty"`
  1438  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1439  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1440  	// The linked account identifier.
  1441  	LinkedAccountId int `json:"linkedAccountId"`
  1442  	// The data polling interval in seconds.
  1443  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1444  }
  1445  
  1446  // CloudAwsXrayIntegration - X-Ray Integration
  1447  type CloudAwsXrayIntegration struct {
  1448  	// Specify each AWS region that includes the resources that you want to monitor.
  1449  	AwsRegions []string `json:"awsRegions,omitempty"`
  1450  	// The object creation date, in epoch (Unix) time
  1451  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1452  	// The cloud service integration identifier.
  1453  	ID int `json:"id,omitempty"`
  1454  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1455  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1456  	// The parent linked account identifier.
  1457  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1458  	// The data polling interval in seconds.
  1459  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1460  	// The cloud service integration name.
  1461  	Name string `json:"name,omitempty"`
  1462  	// The parent NewRelic account identifier.
  1463  	NrAccountId int `json:"nrAccountId"`
  1464  	// The cloud service used in the integration.
  1465  	Service CloudService `json:"service,omitempty"`
  1466  	// The object last update date, in epoch (Unix) time
  1467  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1468  }
  1469  
  1470  func (x *CloudAwsXrayIntegration) ImplementsCloudIntegration() {}
  1471  
  1472  // CloudAwsXrayIntegrationInput - X-Ray
  1473  type CloudAwsXrayIntegrationInput struct {
  1474  	// Specify each AWS region that includes the resources that you want to monitor.
  1475  	AwsRegions []string `json:"awsRegions,omitempty"`
  1476  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1477  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1478  	// The linked account identifier.
  1479  	LinkedAccountId int `json:"linkedAccountId"`
  1480  	// The data polling interval in seconds.
  1481  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1482  }
  1483  
  1484  // CloudAzureAPImanagementIntegration - Api Management Integration
  1485  type CloudAzureAPImanagementIntegration struct {
  1486  	// The object creation date, in epoch (Unix) time
  1487  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1488  	// The cloud service integration identifier.
  1489  	ID int `json:"id,omitempty"`
  1490  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1491  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1492  	// The parent linked account identifier.
  1493  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1494  	// The data polling interval in seconds.
  1495  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1496  	// The cloud service integration name.
  1497  	Name string `json:"name,omitempty"`
  1498  	// The parent NewRelic account identifier.
  1499  	NrAccountId int `json:"nrAccountId"`
  1500  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1501  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1502  	// The cloud service used in the integration.
  1503  	Service CloudService `json:"service,omitempty"`
  1504  	// The object last update date, in epoch (Unix) time
  1505  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1506  }
  1507  
  1508  func (x *CloudAzureAPImanagementIntegration) ImplementsCloudIntegration() {}
  1509  
  1510  // CloudAzureAPImanagementIntegrationInput - Api Management
  1511  type CloudAzureAPImanagementIntegrationInput struct {
  1512  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1513  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1514  	// The linked account identifier.
  1515  	LinkedAccountId int `json:"linkedAccountId"`
  1516  	// The data polling interval in seconds.
  1517  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1518  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1519  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1520  }
  1521  
  1522  // CloudAzureAppgatewayIntegration - App Gateway Integration
  1523  type CloudAzureAppgatewayIntegration struct {
  1524  	// The object creation date, in epoch (Unix) time
  1525  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1526  	// The cloud service integration identifier.
  1527  	ID int `json:"id,omitempty"`
  1528  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1529  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1530  	// The parent linked account identifier.
  1531  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1532  	// The data polling interval in seconds.
  1533  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1534  	// The cloud service integration name.
  1535  	Name string `json:"name,omitempty"`
  1536  	// The parent NewRelic account identifier.
  1537  	NrAccountId int `json:"nrAccountId"`
  1538  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1539  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1540  	// The cloud service used in the integration.
  1541  	Service CloudService `json:"service,omitempty"`
  1542  	// The object last update date, in epoch (Unix) time
  1543  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1544  }
  1545  
  1546  func (x *CloudAzureAppgatewayIntegration) ImplementsCloudIntegration() {}
  1547  
  1548  // CloudAzureAppgatewayIntegrationInput - App Gateway
  1549  type CloudAzureAppgatewayIntegrationInput struct {
  1550  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1551  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1552  	// The linked account identifier.
  1553  	LinkedAccountId int `json:"linkedAccountId"`
  1554  	// The data polling interval in seconds.
  1555  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1556  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1557  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1558  }
  1559  
  1560  // CloudAzureAppserviceIntegration - App Service Integration
  1561  type CloudAzureAppserviceIntegration struct {
  1562  	// The object creation date, in epoch (Unix) time
  1563  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1564  	// The cloud service integration identifier.
  1565  	ID int `json:"id,omitempty"`
  1566  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1567  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1568  	// The parent linked account identifier.
  1569  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1570  	// The data polling interval in seconds.
  1571  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1572  	// The cloud service integration name.
  1573  	Name string `json:"name,omitempty"`
  1574  	// The parent NewRelic account identifier.
  1575  	NrAccountId int `json:"nrAccountId"`
  1576  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1577  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1578  	// The cloud service used in the integration.
  1579  	Service CloudService `json:"service,omitempty"`
  1580  	// The object last update date, in epoch (Unix) time
  1581  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1582  }
  1583  
  1584  func (x *CloudAzureAppserviceIntegration) ImplementsCloudIntegration() {}
  1585  
  1586  // CloudAzureAppserviceIntegrationInput - Azure App Service
  1587  type CloudAzureAppserviceIntegrationInput struct {
  1588  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1589  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1590  	// The linked account identifier.
  1591  	LinkedAccountId int `json:"linkedAccountId"`
  1592  	// The data polling interval in seconds.
  1593  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1594  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1595  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1596  }
  1597  
  1598  // CloudAzureContainersIntegration - Containers Integration
  1599  type CloudAzureContainersIntegration struct {
  1600  	// The object creation date, in epoch (Unix) time
  1601  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1602  	// The cloud service integration identifier.
  1603  	ID int `json:"id,omitempty"`
  1604  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1605  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1606  	// The parent linked account identifier.
  1607  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1608  	// The data polling interval in seconds.
  1609  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1610  	// The cloud service integration name.
  1611  	Name string `json:"name,omitempty"`
  1612  	// The parent NewRelic account identifier.
  1613  	NrAccountId int `json:"nrAccountId"`
  1614  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1615  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1616  	// The cloud service used in the integration.
  1617  	Service CloudService `json:"service,omitempty"`
  1618  	// The object last update date, in epoch (Unix) time
  1619  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1620  }
  1621  
  1622  func (x *CloudAzureContainersIntegration) ImplementsCloudIntegration() {}
  1623  
  1624  // CloudAzureContainersIntegrationInput - Containers
  1625  type CloudAzureContainersIntegrationInput struct {
  1626  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1627  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1628  	// The linked account identifier.
  1629  	LinkedAccountId int `json:"linkedAccountId"`
  1630  	// The data polling interval in seconds.
  1631  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1632  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1633  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1634  }
  1635  
  1636  // CloudAzureCosmosdbIntegration - Cosmos DB Integration
  1637  type CloudAzureCosmosdbIntegration struct {
  1638  	// The object creation date, in epoch (Unix) time
  1639  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1640  	// The cloud service integration identifier.
  1641  	ID int `json:"id,omitempty"`
  1642  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1643  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1644  	// The parent linked account identifier.
  1645  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1646  	// The data polling interval in seconds.
  1647  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1648  	// The cloud service integration name.
  1649  	Name string `json:"name,omitempty"`
  1650  	// The parent NewRelic account identifier.
  1651  	NrAccountId int `json:"nrAccountId"`
  1652  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1653  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1654  	// The cloud service used in the integration.
  1655  	Service CloudService `json:"service,omitempty"`
  1656  	// The object last update date, in epoch (Unix) time
  1657  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1658  }
  1659  
  1660  func (x *CloudAzureCosmosdbIntegration) ImplementsCloudIntegration() {}
  1661  
  1662  // CloudAzureCosmosdbIntegrationInput - Azure Cosmos DB
  1663  type CloudAzureCosmosdbIntegrationInput struct {
  1664  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1665  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1666  	// The linked account identifier.
  1667  	LinkedAccountId int `json:"linkedAccountId"`
  1668  	// The data polling interval in seconds.
  1669  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1670  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1671  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1672  }
  1673  
  1674  // CloudAzureCostmanagementIntegration - Cost Management Integration
  1675  type CloudAzureCostmanagementIntegration struct {
  1676  	// The object creation date, in epoch (Unix) time
  1677  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1678  	// The cloud service integration identifier.
  1679  	ID int `json:"id,omitempty"`
  1680  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1681  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1682  	// The parent linked account identifier.
  1683  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1684  	// The data polling interval in seconds.
  1685  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1686  	// The cloud service integration name.
  1687  	Name string `json:"name,omitempty"`
  1688  	// The parent NewRelic account identifier.
  1689  	NrAccountId int `json:"nrAccountId"`
  1690  	// The cloud service used in the integration.
  1691  	Service CloudService `json:"service,omitempty"`
  1692  	// Specify if additional cost data per tag should be collected. This field is case sensitive.
  1693  	TagKeys []string `json:"tagKeys,omitempty"`
  1694  	// The object last update date, in epoch (Unix) time
  1695  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1696  }
  1697  
  1698  func (x *CloudAzureCostmanagementIntegration) ImplementsCloudIntegration() {}
  1699  
  1700  // CloudAzureCostmanagementIntegrationInput - Cost Management
  1701  type CloudAzureCostmanagementIntegrationInput struct {
  1702  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1703  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1704  	// The linked account identifier.
  1705  	LinkedAccountId int `json:"linkedAccountId"`
  1706  	// The data polling interval in seconds.
  1707  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1708  	// Specify if additional cost data per tag should be collected. This field is case sensitive.
  1709  	TagKeys []string `json:"tagKeys,omitempty"`
  1710  }
  1711  
  1712  // CloudAzureDatafactoryIntegration - Data Factory Integration
  1713  type CloudAzureDatafactoryIntegration struct {
  1714  	// The object creation date, in epoch (Unix) time
  1715  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1716  	// The cloud service integration identifier.
  1717  	ID int `json:"id,omitempty"`
  1718  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1719  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1720  	// The parent linked account identifier.
  1721  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1722  	// The data polling interval in seconds.
  1723  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1724  	// The cloud service integration name.
  1725  	Name string `json:"name,omitempty"`
  1726  	// The parent NewRelic account identifier.
  1727  	NrAccountId int `json:"nrAccountId"`
  1728  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1729  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1730  	// The cloud service used in the integration.
  1731  	Service CloudService `json:"service,omitempty"`
  1732  	// The object last update date, in epoch (Unix) time
  1733  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1734  }
  1735  
  1736  func (x *CloudAzureDatafactoryIntegration) ImplementsCloudIntegration() {}
  1737  
  1738  // CloudAzureDatafactoryIntegrationInput - Data Factory
  1739  type CloudAzureDatafactoryIntegrationInput struct {
  1740  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1741  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1742  	// The linked account identifier.
  1743  	LinkedAccountId int `json:"linkedAccountId"`
  1744  	// The data polling interval in seconds.
  1745  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1746  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1747  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1748  }
  1749  
  1750  // CloudAzureDisableIntegrationsInput - List of integrations
  1751  type CloudAzureDisableIntegrationsInput struct {
  1752  	// Api Management integration
  1753  	AzureAPImanagement []CloudDisableAccountIntegrationInput `json:"azureApimanagement,omitempty"`
  1754  	// App Gateway integration
  1755  	AzureAppgateway []CloudDisableAccountIntegrationInput `json:"azureAppgateway,omitempty"`
  1756  	// App Service integration
  1757  	AzureAppservice []CloudDisableAccountIntegrationInput `json:"azureAppservice,omitempty"`
  1758  	// Containers integration
  1759  	AzureContainers []CloudDisableAccountIntegrationInput `json:"azureContainers,omitempty"`
  1760  	// Cosmos DB integration
  1761  	AzureCosmosdb []CloudDisableAccountIntegrationInput `json:"azureCosmosdb,omitempty"`
  1762  	// Cost Management integration
  1763  	AzureCostmanagement []CloudDisableAccountIntegrationInput `json:"azureCostmanagement,omitempty"`
  1764  	// Data Factory integration
  1765  	AzureDatafactory []CloudDisableAccountIntegrationInput `json:"azureDatafactory,omitempty"`
  1766  	// Event Hub integration
  1767  	AzureEventhub []CloudDisableAccountIntegrationInput `json:"azureEventhub,omitempty"`
  1768  	// Express Route integration
  1769  	AzureExpressroute []CloudDisableAccountIntegrationInput `json:"azureExpressroute,omitempty"`
  1770  	// Firewalls integration
  1771  	AzureFirewalls []CloudDisableAccountIntegrationInput `json:"azureFirewalls,omitempty"`
  1772  	// Front Door integration
  1773  	AzureFrontdoor []CloudDisableAccountIntegrationInput `json:"azureFrontdoor,omitempty"`
  1774  	// Functions integration
  1775  	AzureFunctions []CloudDisableAccountIntegrationInput `json:"azureFunctions,omitempty"`
  1776  	// Key Vault integration
  1777  	AzureKeyvault []CloudDisableAccountIntegrationInput `json:"azureKeyvault,omitempty"`
  1778  	// Load Balancer integration
  1779  	AzureLoadbalancer []CloudDisableAccountIntegrationInput `json:"azureLoadbalancer,omitempty"`
  1780  	// Logic Apps integration
  1781  	AzureLogicapps []CloudDisableAccountIntegrationInput `json:"azureLogicapps,omitempty"`
  1782  	// Machine Learning integration
  1783  	AzureMachinelearning []CloudDisableAccountIntegrationInput `json:"azureMachinelearning,omitempty"`
  1784  	// Database for MariaDB integration
  1785  	AzureMariadb []CloudDisableAccountIntegrationInput `json:"azureMariadb,omitempty"`
  1786  	// Database for MySQL integration
  1787  	AzureMysql []CloudDisableAccountIntegrationInput `json:"azureMysql,omitempty"`
  1788  	// Database for PostgreSQL integration
  1789  	AzurePostgresql []CloudDisableAccountIntegrationInput `json:"azurePostgresql,omitempty"`
  1790  	// Power BI Dedicated integration
  1791  	AzurePowerbidedicated []CloudDisableAccountIntegrationInput `json:"azurePowerbidedicated,omitempty"`
  1792  	// Redis Cache integration
  1793  	AzureRediscache []CloudDisableAccountIntegrationInput `json:"azureRediscache,omitempty"`
  1794  	// Service Bus integration
  1795  	AzureServicebus []CloudDisableAccountIntegrationInput `json:"azureServicebus,omitempty"`
  1796  	// Service Fabric integration
  1797  	AzureServicefabric []CloudDisableAccountIntegrationInput `json:"azureServicefabric,omitempty"`
  1798  	// SQL Database integration
  1799  	AzureSql []CloudDisableAccountIntegrationInput `json:"azureSql,omitempty"`
  1800  	// SQL Managed Instances integration
  1801  	AzureSqlmanaged []CloudDisableAccountIntegrationInput `json:"azureSqlmanaged,omitempty"`
  1802  	// Storage integration
  1803  	AzureStorage []CloudDisableAccountIntegrationInput `json:"azureStorage,omitempty"`
  1804  	// Virtual machine scale sets integration
  1805  	AzureVirtualmachine []CloudDisableAccountIntegrationInput `json:"azureVirtualmachine,omitempty"`
  1806  	// Virtual Network integration
  1807  	AzureVirtualnetworks []CloudDisableAccountIntegrationInput `json:"azureVirtualnetworks,omitempty"`
  1808  	// Virtual Machines integration
  1809  	AzureVms []CloudDisableAccountIntegrationInput `json:"azureVms,omitempty"`
  1810  	// VPN Gateways integration
  1811  	AzureVpngateways []CloudDisableAccountIntegrationInput `json:"azureVpngateways,omitempty"`
  1812  }
  1813  
  1814  // CloudAzureEventhubIntegration - Event Hub Integration
  1815  type CloudAzureEventhubIntegration struct {
  1816  	// The object creation date, in epoch (Unix) time
  1817  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1818  	// The cloud service integration identifier.
  1819  	ID int `json:"id,omitempty"`
  1820  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1821  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1822  	// The parent linked account identifier.
  1823  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1824  	// The data polling interval in seconds.
  1825  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1826  	// The cloud service integration name.
  1827  	Name string `json:"name,omitempty"`
  1828  	// The parent NewRelic account identifier.
  1829  	NrAccountId int `json:"nrAccountId"`
  1830  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1831  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1832  	// The cloud service used in the integration.
  1833  	Service CloudService `json:"service,omitempty"`
  1834  	// The object last update date, in epoch (Unix) time
  1835  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1836  }
  1837  
  1838  func (x *CloudAzureEventhubIntegration) ImplementsCloudIntegration() {}
  1839  
  1840  // CloudAzureEventhubIntegrationInput - Event Hub
  1841  type CloudAzureEventhubIntegrationInput struct {
  1842  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1843  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1844  	// The linked account identifier.
  1845  	LinkedAccountId int `json:"linkedAccountId"`
  1846  	// The data polling interval in seconds.
  1847  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1848  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1849  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1850  }
  1851  
  1852  // CloudAzureExpressrouteIntegration - Express Route Integration
  1853  type CloudAzureExpressrouteIntegration struct {
  1854  	// The object creation date, in epoch (Unix) time
  1855  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1856  	// The cloud service integration identifier.
  1857  	ID int `json:"id,omitempty"`
  1858  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1859  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1860  	// The parent linked account identifier.
  1861  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1862  	// The data polling interval in seconds.
  1863  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1864  	// The cloud service integration name.
  1865  	Name string `json:"name,omitempty"`
  1866  	// The parent NewRelic account identifier.
  1867  	NrAccountId int `json:"nrAccountId"`
  1868  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1869  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1870  	// The cloud service used in the integration.
  1871  	Service CloudService `json:"service,omitempty"`
  1872  	// The object last update date, in epoch (Unix) time
  1873  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1874  }
  1875  
  1876  func (x *CloudAzureExpressrouteIntegration) ImplementsCloudIntegration() {}
  1877  
  1878  // CloudAzureExpressrouteIntegrationInput - Express Route
  1879  type CloudAzureExpressrouteIntegrationInput struct {
  1880  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1881  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1882  	// The linked account identifier.
  1883  	LinkedAccountId int `json:"linkedAccountId"`
  1884  	// The data polling interval in seconds.
  1885  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1886  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1887  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1888  }
  1889  
  1890  // CloudAzureFirewallsIntegration - Firewalls Integration
  1891  type CloudAzureFirewallsIntegration struct {
  1892  	// The object creation date, in epoch (Unix) time
  1893  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1894  	// The cloud service integration identifier.
  1895  	ID int `json:"id,omitempty"`
  1896  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1897  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1898  	// The parent linked account identifier.
  1899  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1900  	// The data polling interval in seconds.
  1901  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1902  	// The cloud service integration name.
  1903  	Name string `json:"name,omitempty"`
  1904  	// The parent NewRelic account identifier.
  1905  	NrAccountId int `json:"nrAccountId"`
  1906  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1907  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1908  	// The cloud service used in the integration.
  1909  	Service CloudService `json:"service,omitempty"`
  1910  	// The object last update date, in epoch (Unix) time
  1911  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1912  }
  1913  
  1914  func (x *CloudAzureFirewallsIntegration) ImplementsCloudIntegration() {}
  1915  
  1916  // CloudAzureFirewallsIntegrationInput - Firewalls
  1917  type CloudAzureFirewallsIntegrationInput struct {
  1918  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1919  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1920  	// The linked account identifier.
  1921  	LinkedAccountId int `json:"linkedAccountId"`
  1922  	// The data polling interval in seconds.
  1923  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1924  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1925  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1926  }
  1927  
  1928  // CloudAzureFrontdoorIntegration - Front Door Integration
  1929  type CloudAzureFrontdoorIntegration struct {
  1930  	// The object creation date, in epoch (Unix) time
  1931  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1932  	// The cloud service integration identifier.
  1933  	ID int `json:"id,omitempty"`
  1934  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1935  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1936  	// The parent linked account identifier.
  1937  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1938  	// The data polling interval in seconds.
  1939  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1940  	// The cloud service integration name.
  1941  	Name string `json:"name,omitempty"`
  1942  	// The parent NewRelic account identifier.
  1943  	NrAccountId int `json:"nrAccountId"`
  1944  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1945  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1946  	// The cloud service used in the integration.
  1947  	Service CloudService `json:"service,omitempty"`
  1948  	// The object last update date, in epoch (Unix) time
  1949  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1950  }
  1951  
  1952  func (x *CloudAzureFrontdoorIntegration) ImplementsCloudIntegration() {}
  1953  
  1954  // CloudAzureFrontdoorIntegrationInput - Front Door
  1955  type CloudAzureFrontdoorIntegrationInput struct {
  1956  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1957  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1958  	// The linked account identifier.
  1959  	LinkedAccountId int `json:"linkedAccountId"`
  1960  	// The data polling interval in seconds.
  1961  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1962  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1963  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1964  }
  1965  
  1966  // CloudAzureFunctionsIntegration - Functions Integration
  1967  type CloudAzureFunctionsIntegration struct {
  1968  	// The object creation date, in epoch (Unix) time
  1969  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  1970  	// The cloud service integration identifier.
  1971  	ID int `json:"id,omitempty"`
  1972  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1973  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1974  	// The parent linked account identifier.
  1975  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  1976  	// The data polling interval in seconds.
  1977  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  1978  	// The cloud service integration name.
  1979  	Name string `json:"name,omitempty"`
  1980  	// The parent NewRelic account identifier.
  1981  	NrAccountId int `json:"nrAccountId"`
  1982  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  1983  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  1984  	// The cloud service used in the integration.
  1985  	Service CloudService `json:"service,omitempty"`
  1986  	// The object last update date, in epoch (Unix) time
  1987  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  1988  }
  1989  
  1990  func (x *CloudAzureFunctionsIntegration) ImplementsCloudIntegration() {}
  1991  
  1992  // CloudAzureFunctionsIntegrationInput - Azure Functions
  1993  type CloudAzureFunctionsIntegrationInput struct {
  1994  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  1995  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  1996  	// The linked account identifier.
  1997  	LinkedAccountId int `json:"linkedAccountId"`
  1998  	// The data polling interval in seconds.
  1999  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2000  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2001  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2002  }
  2003  
  2004  // CloudAzureIntegrationsInput - List of integrations
  2005  type CloudAzureIntegrationsInput struct {
  2006  	// Api Management integration
  2007  	AzureAPImanagement []CloudAzureAPImanagementIntegrationInput `json:"azureApimanagement,omitempty"`
  2008  	// App Gateway integration
  2009  	AzureAppgateway []CloudAzureAppgatewayIntegrationInput `json:"azureAppgateway,omitempty"`
  2010  	// App Service integration
  2011  	AzureAppservice []CloudAzureAppserviceIntegrationInput `json:"azureAppservice,omitempty"`
  2012  	// Containers integration
  2013  	AzureContainers []CloudAzureContainersIntegrationInput `json:"azureContainers,omitempty"`
  2014  	// Cosmos DB integration
  2015  	AzureCosmosdb []CloudAzureCosmosdbIntegrationInput `json:"azureCosmosdb,omitempty"`
  2016  	// Cost Management integration
  2017  	AzureCostmanagement []CloudAzureCostmanagementIntegrationInput `json:"azureCostmanagement,omitempty"`
  2018  	// Data Factory integration
  2019  	AzureDatafactory []CloudAzureDatafactoryIntegrationInput `json:"azureDatafactory,omitempty"`
  2020  	// Event Hub integration
  2021  	AzureEventhub []CloudAzureEventhubIntegrationInput `json:"azureEventhub,omitempty"`
  2022  	// Express Route integration
  2023  	AzureExpressroute []CloudAzureExpressrouteIntegrationInput `json:"azureExpressroute,omitempty"`
  2024  	// Firewalls integration
  2025  	AzureFirewalls []CloudAzureFirewallsIntegrationInput `json:"azureFirewalls,omitempty"`
  2026  	// Front Door integration
  2027  	AzureFrontdoor []CloudAzureFrontdoorIntegrationInput `json:"azureFrontdoor,omitempty"`
  2028  	// Functions integration
  2029  	AzureFunctions []CloudAzureFunctionsIntegrationInput `json:"azureFunctions,omitempty"`
  2030  	// Key Vault integration
  2031  	AzureKeyvault []CloudAzureKeyvaultIntegrationInput `json:"azureKeyvault,omitempty"`
  2032  	// Load Balancer integration
  2033  	AzureLoadbalancer []CloudAzureLoadbalancerIntegrationInput `json:"azureLoadbalancer,omitempty"`
  2034  	// Logic Apps integration
  2035  	AzureLogicapps []CloudAzureLogicappsIntegrationInput `json:"azureLogicapps,omitempty"`
  2036  	// Machine Learning integration
  2037  	AzureMachinelearning []CloudAzureMachinelearningIntegrationInput `json:"azureMachinelearning,omitempty"`
  2038  	// Database for MariaDB integration
  2039  	AzureMariadb []CloudAzureMariadbIntegrationInput `json:"azureMariadb,omitempty"`
  2040  	// Database for MySQL integration
  2041  	AzureMysql []CloudAzureMysqlIntegrationInput `json:"azureMysql,omitempty"`
  2042  	// Database for PostgreSQL integration
  2043  	AzurePostgresql []CloudAzurePostgresqlIntegrationInput `json:"azurePostgresql,omitempty"`
  2044  	// Power BI Dedicated integration
  2045  	AzurePowerbidedicated []CloudAzurePowerbidedicatedIntegrationInput `json:"azurePowerbidedicated,omitempty"`
  2046  	// Redis Cache integration
  2047  	AzureRediscache []CloudAzureRediscacheIntegrationInput `json:"azureRediscache,omitempty"`
  2048  	// Service Bus integration
  2049  	AzureServicebus []CloudAzureServicebusIntegrationInput `json:"azureServicebus,omitempty"`
  2050  	// Service Fabric integration
  2051  	AzureServicefabric []CloudAzureServicefabricIntegrationInput `json:"azureServicefabric,omitempty"`
  2052  	// SQL Database integration
  2053  	AzureSql []CloudAzureSqlIntegrationInput `json:"azureSql,omitempty"`
  2054  	// SQL Managed Instances integration
  2055  	AzureSqlmanaged []CloudAzureSqlmanagedIntegrationInput `json:"azureSqlmanaged,omitempty"`
  2056  	// Storage integration
  2057  	AzureStorage []CloudAzureStorageIntegrationInput `json:"azureStorage,omitempty"`
  2058  	// Virtual machine scale sets integration
  2059  	AzureVirtualmachine []CloudAzureVirtualmachineIntegrationInput `json:"azureVirtualmachine,omitempty"`
  2060  	// Virtual Network integration
  2061  	AzureVirtualnetworks []CloudAzureVirtualnetworksIntegrationInput `json:"azureVirtualnetworks,omitempty"`
  2062  	// Virtual Machines integration
  2063  	AzureVms []CloudAzureVmsIntegrationInput `json:"azureVms,omitempty"`
  2064  	// VPN Gateways integration
  2065  	AzureVpngateways []CloudAzureVpngatewaysIntegrationInput `json:"azureVpngateways,omitempty"`
  2066  }
  2067  
  2068  // CloudAzureKeyvaultIntegration - Key Vault Integration
  2069  type CloudAzureKeyvaultIntegration struct {
  2070  	// The object creation date, in epoch (Unix) time
  2071  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2072  	// The cloud service integration identifier.
  2073  	ID int `json:"id,omitempty"`
  2074  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2075  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2076  	// The parent linked account identifier.
  2077  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2078  	// The data polling interval in seconds.
  2079  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2080  	// The cloud service integration name.
  2081  	Name string `json:"name,omitempty"`
  2082  	// The parent NewRelic account identifier.
  2083  	NrAccountId int `json:"nrAccountId"`
  2084  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2085  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2086  	// The cloud service used in the integration.
  2087  	Service CloudService `json:"service,omitempty"`
  2088  	// The object last update date, in epoch (Unix) time
  2089  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2090  }
  2091  
  2092  func (x *CloudAzureKeyvaultIntegration) ImplementsCloudIntegration() {}
  2093  
  2094  // CloudAzureKeyvaultIntegrationInput - Key Vault
  2095  type CloudAzureKeyvaultIntegrationInput struct {
  2096  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2097  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2098  	// The linked account identifier.
  2099  	LinkedAccountId int `json:"linkedAccountId"`
  2100  	// The data polling interval in seconds.
  2101  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2102  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2103  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2104  }
  2105  
  2106  // CloudAzureLinkAccountInput - Information required to link a Azure account to a NewRelic account.
  2107  type CloudAzureLinkAccountInput struct {
  2108  	// The Azure account application identifier (used to fetch data).
  2109  	ApplicationID string `json:"applicationId"`
  2110  	// The Azure account application secret key.
  2111  	ClientSecret SecureValue `json:"clientSecret"`
  2112  	// The linked account name.
  2113  	Name string `json:"name"`
  2114  	// The Azure account subscription identifier.
  2115  	SubscriptionId string `json:"subscriptionId"`
  2116  	// The Azure account tenant identifier.
  2117  	TenantId string `json:"tenantId"`
  2118  }
  2119  
  2120  // CloudAzureLoadbalancerIntegration - Load Balancer Integration
  2121  type CloudAzureLoadbalancerIntegration struct {
  2122  	// The object creation date, in epoch (Unix) time
  2123  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2124  	// The cloud service integration identifier.
  2125  	ID int `json:"id,omitempty"`
  2126  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2127  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2128  	// The parent linked account identifier.
  2129  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2130  	// The data polling interval in seconds.
  2131  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2132  	// The cloud service integration name.
  2133  	Name string `json:"name,omitempty"`
  2134  	// The parent NewRelic account identifier.
  2135  	NrAccountId int `json:"nrAccountId"`
  2136  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2137  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2138  	// The cloud service used in the integration.
  2139  	Service CloudService `json:"service,omitempty"`
  2140  	// The object last update date, in epoch (Unix) time
  2141  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2142  }
  2143  
  2144  func (x *CloudAzureLoadbalancerIntegration) ImplementsCloudIntegration() {}
  2145  
  2146  // CloudAzureLoadbalancerIntegrationInput - Azure Load Balancer
  2147  type CloudAzureLoadbalancerIntegrationInput struct {
  2148  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2149  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2150  	// The linked account identifier.
  2151  	LinkedAccountId int `json:"linkedAccountId"`
  2152  	// The data polling interval in seconds.
  2153  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2154  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2155  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2156  }
  2157  
  2158  // CloudAzureLogicappsIntegration - Logic Apps Integration
  2159  type CloudAzureLogicappsIntegration struct {
  2160  	// The object creation date, in epoch (Unix) time
  2161  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2162  	// The cloud service integration identifier.
  2163  	ID int `json:"id,omitempty"`
  2164  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2165  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2166  	// The parent linked account identifier.
  2167  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2168  	// The data polling interval in seconds.
  2169  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2170  	// The cloud service integration name.
  2171  	Name string `json:"name,omitempty"`
  2172  	// The parent NewRelic account identifier.
  2173  	NrAccountId int `json:"nrAccountId"`
  2174  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2175  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2176  	// The cloud service used in the integration.
  2177  	Service CloudService `json:"service,omitempty"`
  2178  	// The object last update date, in epoch (Unix) time
  2179  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2180  }
  2181  
  2182  func (x *CloudAzureLogicappsIntegration) ImplementsCloudIntegration() {}
  2183  
  2184  // CloudAzureLogicappsIntegrationInput - Logic Apps
  2185  type CloudAzureLogicappsIntegrationInput struct {
  2186  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2187  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2188  	// The linked account identifier.
  2189  	LinkedAccountId int `json:"linkedAccountId"`
  2190  	// The data polling interval in seconds.
  2191  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2192  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2193  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2194  }
  2195  
  2196  // CloudAzureMachinelearningIntegration - Machine Learning Integration
  2197  type CloudAzureMachinelearningIntegration struct {
  2198  	// The object creation date, in epoch (Unix) time
  2199  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2200  	// The cloud service integration identifier.
  2201  	ID int `json:"id,omitempty"`
  2202  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2203  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2204  	// The parent linked account identifier.
  2205  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2206  	// The data polling interval in seconds.
  2207  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2208  	// The cloud service integration name.
  2209  	Name string `json:"name,omitempty"`
  2210  	// The parent NewRelic account identifier.
  2211  	NrAccountId int `json:"nrAccountId"`
  2212  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2213  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2214  	// The cloud service used in the integration.
  2215  	Service CloudService `json:"service,omitempty"`
  2216  	// The object last update date, in epoch (Unix) time
  2217  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2218  }
  2219  
  2220  func (x *CloudAzureMachinelearningIntegration) ImplementsCloudIntegration() {}
  2221  
  2222  // CloudAzureMachinelearningIntegrationInput - Machine Learning
  2223  type CloudAzureMachinelearningIntegrationInput struct {
  2224  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2225  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2226  	// The linked account identifier.
  2227  	LinkedAccountId int `json:"linkedAccountId"`
  2228  	// The data polling interval in seconds.
  2229  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2230  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2231  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2232  }
  2233  
  2234  // CloudAzureMariadbIntegration - Database for MariaDB Integration
  2235  type CloudAzureMariadbIntegration struct {
  2236  	// The object creation date, in epoch (Unix) time
  2237  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2238  	// The cloud service integration identifier.
  2239  	ID int `json:"id,omitempty"`
  2240  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2241  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2242  	// The parent linked account identifier.
  2243  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2244  	// The data polling interval in seconds.
  2245  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2246  	// The cloud service integration name.
  2247  	Name string `json:"name,omitempty"`
  2248  	// The parent NewRelic account identifier.
  2249  	NrAccountId int `json:"nrAccountId"`
  2250  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2251  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2252  	// The cloud service used in the integration.
  2253  	Service CloudService `json:"service,omitempty"`
  2254  	// The object last update date, in epoch (Unix) time
  2255  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2256  }
  2257  
  2258  func (x *CloudAzureMariadbIntegration) ImplementsCloudIntegration() {}
  2259  
  2260  // CloudAzureMariadbIntegrationInput - Database for MariaDB
  2261  type CloudAzureMariadbIntegrationInput struct {
  2262  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2263  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2264  	// The linked account identifier.
  2265  	LinkedAccountId int `json:"linkedAccountId"`
  2266  	// The data polling interval in seconds.
  2267  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2268  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2269  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2270  }
  2271  
  2272  // CloudAzureMysqlIntegration - Database for MySQL Integration
  2273  type CloudAzureMysqlIntegration struct {
  2274  	// The object creation date, in epoch (Unix) time
  2275  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2276  	// The cloud service integration identifier.
  2277  	ID int `json:"id,omitempty"`
  2278  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2279  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2280  	// The parent linked account identifier.
  2281  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2282  	// The data polling interval in seconds.
  2283  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2284  	// The cloud service integration name.
  2285  	Name string `json:"name,omitempty"`
  2286  	// The parent NewRelic account identifier.
  2287  	NrAccountId int `json:"nrAccountId"`
  2288  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2289  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2290  	// The cloud service used in the integration.
  2291  	Service CloudService `json:"service,omitempty"`
  2292  	// The object last update date, in epoch (Unix) time
  2293  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2294  }
  2295  
  2296  func (x *CloudAzureMysqlIntegration) ImplementsCloudIntegration() {}
  2297  
  2298  // CloudAzureMysqlIntegrationInput - Database for MySQL
  2299  type CloudAzureMysqlIntegrationInput struct {
  2300  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2301  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2302  	// The linked account identifier.
  2303  	LinkedAccountId int `json:"linkedAccountId"`
  2304  	// The data polling interval in seconds.
  2305  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2306  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2307  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2308  }
  2309  
  2310  // CloudAzurePostgresqlIntegration - Database for PostgreSQL Integration
  2311  type CloudAzurePostgresqlIntegration struct {
  2312  	// The object creation date, in epoch (Unix) time
  2313  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2314  	// The cloud service integration identifier.
  2315  	ID int `json:"id,omitempty"`
  2316  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2317  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2318  	// The parent linked account identifier.
  2319  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2320  	// The data polling interval in seconds.
  2321  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2322  	// The cloud service integration name.
  2323  	Name string `json:"name,omitempty"`
  2324  	// The parent NewRelic account identifier.
  2325  	NrAccountId int `json:"nrAccountId"`
  2326  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2327  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2328  	// The cloud service used in the integration.
  2329  	Service CloudService `json:"service,omitempty"`
  2330  	// The object last update date, in epoch (Unix) time
  2331  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2332  }
  2333  
  2334  func (x *CloudAzurePostgresqlIntegration) ImplementsCloudIntegration() {}
  2335  
  2336  // CloudAzurePostgresqlIntegrationInput - Database for PostgreSQL
  2337  type CloudAzurePostgresqlIntegrationInput struct {
  2338  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2339  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2340  	// The linked account identifier.
  2341  	LinkedAccountId int `json:"linkedAccountId"`
  2342  	// The data polling interval in seconds.
  2343  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2344  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2345  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2346  }
  2347  
  2348  // CloudAzurePowerbidedicatedIntegration - Power BI Dedicated Integration
  2349  type CloudAzurePowerbidedicatedIntegration struct {
  2350  	// The object creation date, in epoch (Unix) time
  2351  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2352  	// The cloud service integration identifier.
  2353  	ID int `json:"id,omitempty"`
  2354  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2355  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2356  	// The parent linked account identifier.
  2357  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2358  	// The data polling interval in seconds.
  2359  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2360  	// The cloud service integration name.
  2361  	Name string `json:"name,omitempty"`
  2362  	// The parent NewRelic account identifier.
  2363  	NrAccountId int `json:"nrAccountId"`
  2364  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2365  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2366  	// The cloud service used in the integration.
  2367  	Service CloudService `json:"service,omitempty"`
  2368  	// The object last update date, in epoch (Unix) time
  2369  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2370  }
  2371  
  2372  func (x *CloudAzurePowerbidedicatedIntegration) ImplementsCloudIntegration() {}
  2373  
  2374  // CloudAzurePowerbidedicatedIntegrationInput - Power BI Dedicated
  2375  type CloudAzurePowerbidedicatedIntegrationInput struct {
  2376  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2377  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2378  	// The linked account identifier.
  2379  	LinkedAccountId int `json:"linkedAccountId"`
  2380  	// The data polling interval in seconds.
  2381  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2382  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2383  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2384  }
  2385  
  2386  // CloudAzureRediscacheIntegration - Redis Cache Integration
  2387  type CloudAzureRediscacheIntegration struct {
  2388  	// The object creation date, in epoch (Unix) time
  2389  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2390  	// The cloud service integration identifier.
  2391  	ID int `json:"id,omitempty"`
  2392  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2393  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2394  	// The parent linked account identifier.
  2395  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2396  	// The data polling interval in seconds.
  2397  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2398  	// The cloud service integration name.
  2399  	Name string `json:"name,omitempty"`
  2400  	// The parent NewRelic account identifier.
  2401  	NrAccountId int `json:"nrAccountId"`
  2402  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2403  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2404  	// The cloud service used in the integration.
  2405  	Service CloudService `json:"service,omitempty"`
  2406  	// The object last update date, in epoch (Unix) time
  2407  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2408  }
  2409  
  2410  func (x *CloudAzureRediscacheIntegration) ImplementsCloudIntegration() {}
  2411  
  2412  // CloudAzureRediscacheIntegrationInput - Azure Redis Cache
  2413  type CloudAzureRediscacheIntegrationInput struct {
  2414  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2415  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2416  	// The linked account identifier.
  2417  	LinkedAccountId int `json:"linkedAccountId"`
  2418  	// The data polling interval in seconds.
  2419  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2420  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2421  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2422  }
  2423  
  2424  // CloudAzureServicebusIntegration - Service Bus Integration
  2425  type CloudAzureServicebusIntegration struct {
  2426  	// The object creation date, in epoch (Unix) time
  2427  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2428  	// The cloud service integration identifier.
  2429  	ID int `json:"id,omitempty"`
  2430  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2431  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2432  	// The parent linked account identifier.
  2433  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2434  	// The data polling interval in seconds.
  2435  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2436  	// The cloud service integration name.
  2437  	Name string `json:"name,omitempty"`
  2438  	// The parent NewRelic account identifier.
  2439  	NrAccountId int `json:"nrAccountId"`
  2440  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2441  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2442  	// The cloud service used in the integration.
  2443  	Service CloudService `json:"service,omitempty"`
  2444  	// The object last update date, in epoch (Unix) time
  2445  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2446  }
  2447  
  2448  func (x *CloudAzureServicebusIntegration) ImplementsCloudIntegration() {}
  2449  
  2450  // CloudAzureServicebusIntegrationInput - Azure Service Bus
  2451  type CloudAzureServicebusIntegrationInput struct {
  2452  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2453  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2454  	// The linked account identifier.
  2455  	LinkedAccountId int `json:"linkedAccountId"`
  2456  	// The data polling interval in seconds.
  2457  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2458  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2459  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2460  }
  2461  
  2462  // CloudAzureServicefabricIntegration - Service Fabric Integration
  2463  type CloudAzureServicefabricIntegration struct {
  2464  	// The object creation date, in epoch (Unix) time
  2465  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2466  	// The cloud service integration identifier.
  2467  	ID int `json:"id,omitempty"`
  2468  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2469  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2470  	// The parent linked account identifier.
  2471  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2472  	// The data polling interval in seconds.
  2473  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2474  	// The cloud service integration name.
  2475  	Name string `json:"name,omitempty"`
  2476  	// The parent NewRelic account identifier.
  2477  	NrAccountId int `json:"nrAccountId"`
  2478  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2479  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2480  	// The cloud service used in the integration.
  2481  	Service CloudService `json:"service,omitempty"`
  2482  	// The object last update date, in epoch (Unix) time
  2483  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2484  }
  2485  
  2486  func (x *CloudAzureServicefabricIntegration) ImplementsCloudIntegration() {}
  2487  
  2488  // CloudAzureServicefabricIntegrationInput - Service Fabric
  2489  type CloudAzureServicefabricIntegrationInput struct {
  2490  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2491  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2492  	// The linked account identifier.
  2493  	LinkedAccountId int `json:"linkedAccountId"`
  2494  	// The data polling interval in seconds.
  2495  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2496  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2497  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2498  }
  2499  
  2500  // CloudAzureSqlIntegration - SQL Database Integration
  2501  type CloudAzureSqlIntegration struct {
  2502  	// The object creation date, in epoch (Unix) time
  2503  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2504  	// The cloud service integration identifier.
  2505  	ID int `json:"id,omitempty"`
  2506  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2507  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2508  	// The parent linked account identifier.
  2509  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2510  	// The data polling interval in seconds.
  2511  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2512  	// The cloud service integration name.
  2513  	Name string `json:"name,omitempty"`
  2514  	// The parent NewRelic account identifier.
  2515  	NrAccountId int `json:"nrAccountId"`
  2516  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2517  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2518  	// The cloud service used in the integration.
  2519  	Service CloudService `json:"service,omitempty"`
  2520  	// The object last update date, in epoch (Unix) time
  2521  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2522  }
  2523  
  2524  func (x *CloudAzureSqlIntegration) ImplementsCloudIntegration() {}
  2525  
  2526  // CloudAzureSqlIntegrationInput - Azure SQL Database
  2527  type CloudAzureSqlIntegrationInput struct {
  2528  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2529  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2530  	// The linked account identifier.
  2531  	LinkedAccountId int `json:"linkedAccountId"`
  2532  	// The data polling interval in seconds.
  2533  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2534  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2535  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2536  }
  2537  
  2538  // CloudAzureSqlmanagedIntegration - SQL Managed Instances Integration
  2539  type CloudAzureSqlmanagedIntegration struct {
  2540  	// The object creation date, in epoch (Unix) time
  2541  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2542  	// The cloud service integration identifier.
  2543  	ID int `json:"id,omitempty"`
  2544  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2545  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2546  	// The parent linked account identifier.
  2547  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2548  	// The data polling interval in seconds.
  2549  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2550  	// The cloud service integration name.
  2551  	Name string `json:"name,omitempty"`
  2552  	// The parent NewRelic account identifier.
  2553  	NrAccountId int `json:"nrAccountId"`
  2554  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2555  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2556  	// The cloud service used in the integration.
  2557  	Service CloudService `json:"service,omitempty"`
  2558  	// The object last update date, in epoch (Unix) time
  2559  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2560  }
  2561  
  2562  func (x *CloudAzureSqlmanagedIntegration) ImplementsCloudIntegration() {}
  2563  
  2564  // CloudAzureSqlmanagedIntegrationInput - SQL Managed Instances
  2565  type CloudAzureSqlmanagedIntegrationInput struct {
  2566  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2567  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2568  	// The linked account identifier.
  2569  	LinkedAccountId int `json:"linkedAccountId"`
  2570  	// The data polling interval in seconds.
  2571  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2572  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2573  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2574  }
  2575  
  2576  // CloudAzureStorageIntegration - Storage Integration
  2577  type CloudAzureStorageIntegration struct {
  2578  	// The object creation date, in epoch (Unix) time
  2579  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2580  	// The cloud service integration identifier.
  2581  	ID int `json:"id,omitempty"`
  2582  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2583  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2584  	// The parent linked account identifier.
  2585  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2586  	// The data polling interval in seconds.
  2587  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2588  	// The cloud service integration name.
  2589  	Name string `json:"name,omitempty"`
  2590  	// The parent NewRelic account identifier.
  2591  	NrAccountId int `json:"nrAccountId"`
  2592  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2593  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2594  	// The cloud service used in the integration.
  2595  	Service CloudService `json:"service,omitempty"`
  2596  	// The object last update date, in epoch (Unix) time
  2597  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2598  }
  2599  
  2600  func (x *CloudAzureStorageIntegration) ImplementsCloudIntegration() {}
  2601  
  2602  // CloudAzureStorageIntegrationInput - Azure Storage
  2603  type CloudAzureStorageIntegrationInput struct {
  2604  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2605  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2606  	// The linked account identifier.
  2607  	LinkedAccountId int `json:"linkedAccountId"`
  2608  	// The data polling interval in seconds.
  2609  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2610  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2611  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2612  }
  2613  
  2614  // CloudAzureVirtualmachineIntegration - Virtual machine scale sets Integration
  2615  type CloudAzureVirtualmachineIntegration struct {
  2616  	// The object creation date, in epoch (Unix) time
  2617  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2618  	// The cloud service integration identifier.
  2619  	ID int `json:"id,omitempty"`
  2620  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2621  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2622  	// The parent linked account identifier.
  2623  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2624  	// The data polling interval in seconds.
  2625  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2626  	// The cloud service integration name.
  2627  	Name string `json:"name,omitempty"`
  2628  	// The parent NewRelic account identifier.
  2629  	NrAccountId int `json:"nrAccountId"`
  2630  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2631  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2632  	// The cloud service used in the integration.
  2633  	Service CloudService `json:"service,omitempty"`
  2634  	// The object last update date, in epoch (Unix) time
  2635  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2636  }
  2637  
  2638  func (x *CloudAzureVirtualmachineIntegration) ImplementsCloudIntegration() {}
  2639  
  2640  // CloudAzureVirtualmachineIntegrationInput - Virtual machine scale sets
  2641  type CloudAzureVirtualmachineIntegrationInput struct {
  2642  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2643  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2644  	// The linked account identifier.
  2645  	LinkedAccountId int `json:"linkedAccountId"`
  2646  	// The data polling interval in seconds.
  2647  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2648  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2649  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2650  }
  2651  
  2652  // CloudAzureVirtualnetworksIntegration - Virtual Network Integration
  2653  type CloudAzureVirtualnetworksIntegration struct {
  2654  	// The object creation date, in epoch (Unix) time
  2655  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2656  	// The cloud service integration identifier.
  2657  	ID int `json:"id,omitempty"`
  2658  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2659  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2660  	// The parent linked account identifier.
  2661  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2662  	// The data polling interval in seconds.
  2663  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2664  	// The cloud service integration name.
  2665  	Name string `json:"name,omitempty"`
  2666  	// The parent NewRelic account identifier.
  2667  	NrAccountId int `json:"nrAccountId"`
  2668  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2669  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2670  	// The cloud service used in the integration.
  2671  	Service CloudService `json:"service,omitempty"`
  2672  	// The object last update date, in epoch (Unix) time
  2673  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2674  }
  2675  
  2676  func (x *CloudAzureVirtualnetworksIntegration) ImplementsCloudIntegration() {}
  2677  
  2678  // CloudAzureVirtualnetworksIntegrationInput - Azure Virtual Network
  2679  type CloudAzureVirtualnetworksIntegrationInput struct {
  2680  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2681  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2682  	// The linked account identifier.
  2683  	LinkedAccountId int `json:"linkedAccountId"`
  2684  	// The data polling interval in seconds.
  2685  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2686  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2687  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2688  }
  2689  
  2690  // CloudAzureVmsIntegration - Virtual Machines Integration
  2691  type CloudAzureVmsIntegration struct {
  2692  	// The object creation date, in epoch (Unix) time
  2693  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2694  	// The cloud service integration identifier.
  2695  	ID int `json:"id,omitempty"`
  2696  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2697  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2698  	// The parent linked account identifier.
  2699  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2700  	// The data polling interval in seconds.
  2701  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2702  	// The cloud service integration name.
  2703  	Name string `json:"name,omitempty"`
  2704  	// The parent NewRelic account identifier.
  2705  	NrAccountId int `json:"nrAccountId"`
  2706  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2707  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2708  	// The cloud service used in the integration.
  2709  	Service CloudService `json:"service,omitempty"`
  2710  	// The object last update date, in epoch (Unix) time
  2711  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2712  }
  2713  
  2714  func (x *CloudAzureVmsIntegration) ImplementsCloudIntegration() {}
  2715  
  2716  // CloudAzureVmsIntegrationInput - Azure Virtual Machines
  2717  type CloudAzureVmsIntegrationInput struct {
  2718  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2719  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2720  	// The linked account identifier.
  2721  	LinkedAccountId int `json:"linkedAccountId"`
  2722  	// The data polling interval in seconds.
  2723  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2724  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2725  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2726  }
  2727  
  2728  // CloudAzureVpngatewaysIntegration - VPN Gateways Integration
  2729  type CloudAzureVpngatewaysIntegration struct {
  2730  	// The object creation date, in epoch (Unix) time
  2731  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2732  	// The cloud service integration identifier.
  2733  	ID int `json:"id,omitempty"`
  2734  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2735  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2736  	// The parent linked account identifier.
  2737  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2738  	// The data polling interval in seconds.
  2739  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2740  	// The cloud service integration name.
  2741  	Name string `json:"name,omitempty"`
  2742  	// The parent NewRelic account identifier.
  2743  	NrAccountId int `json:"nrAccountId"`
  2744  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2745  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2746  	// The cloud service used in the integration.
  2747  	Service CloudService `json:"service,omitempty"`
  2748  	// The object last update date, in epoch (Unix) time
  2749  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2750  }
  2751  
  2752  func (x *CloudAzureVpngatewaysIntegration) ImplementsCloudIntegration() {}
  2753  
  2754  // CloudAzureVpngatewaysIntegrationInput - VPN Gateways
  2755  type CloudAzureVpngatewaysIntegrationInput struct {
  2756  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2757  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2758  	// The linked account identifier.
  2759  	LinkedAccountId int `json:"linkedAccountId"`
  2760  	// The data polling interval in seconds.
  2761  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2762  	// Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive.
  2763  	ResourceGroups []string `json:"resourceGroups,omitempty"`
  2764  }
  2765  
  2766  // CloudBaseIntegration - Base Integration Object
  2767  type CloudBaseIntegration struct {
  2768  	// The object creation date, in epoch (Unix) time
  2769  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2770  	// The cloud service integration identifier.
  2771  	ID int `json:"id,omitempty"`
  2772  	// The parent linked account identifier.
  2773  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2774  	// The cloud service integration name.
  2775  	Name string `json:"name,omitempty"`
  2776  	// The parent NewRelic account identifier.
  2777  	NrAccountId int `json:"nrAccountId"`
  2778  	// The cloud service used in the integration.
  2779  	Service CloudService `json:"service,omitempty"`
  2780  	// The object last update date, in epoch (Unix) time
  2781  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2782  }
  2783  
  2784  func (x *CloudBaseIntegration) ImplementsCloudIntegration() {}
  2785  
  2786  // CloudBaseProvider - Base Provider Object
  2787  type CloudBaseProvider struct {
  2788  	// The object creation date, in epoch (Unix) time
  2789  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2790  	// The cloud provider identifier in NewRelic.
  2791  	ID int `json:"id"`
  2792  	// The cloud provider icon name.
  2793  	Icon string `json:"icon"`
  2794  	// The cloud provider name.
  2795  	Name string `json:"name"`
  2796  	// Get details of one cloud provider service.
  2797  	Service CloudService `json:"service,omitempty"`
  2798  	// Get details of all the cloud provider services available for integration.
  2799  	Services []CloudService `json:"services"`
  2800  	// The cloud provider short name.
  2801  	Slug string `json:"slug"`
  2802  	// The object last update date, in epoch (Unix) time
  2803  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2804  }
  2805  
  2806  func (x *CloudBaseProvider) ImplementsCloudProvider() {}
  2807  
  2808  // CloudBillingIntegration - Billing Integration
  2809  type CloudBillingIntegration struct {
  2810  	// The object creation date, in epoch (Unix) time
  2811  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2812  	// The cloud service integration identifier.
  2813  	ID int `json:"id,omitempty"`
  2814  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2815  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2816  	// The parent linked account identifier.
  2817  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2818  	// The data polling interval in seconds.
  2819  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2820  	// The cloud service integration name.
  2821  	Name string `json:"name,omitempty"`
  2822  	// The parent NewRelic account identifier.
  2823  	NrAccountId int `json:"nrAccountId"`
  2824  	// The cloud service used in the integration.
  2825  	Service CloudService `json:"service,omitempty"`
  2826  	// The object last update date, in epoch (Unix) time
  2827  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2828  }
  2829  
  2830  func (x *CloudBillingIntegration) ImplementsCloudIntegration() {}
  2831  
  2832  // CloudBillingIntegrationInput - AWS Billing
  2833  type CloudBillingIntegrationInput struct {
  2834  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2835  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2836  	// The linked account identifier.
  2837  	LinkedAccountId int `json:"linkedAccountId"`
  2838  	// The data polling interval in seconds.
  2839  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2840  }
  2841  
  2842  // CloudCloudfrontIntegration - CloudFront Integration
  2843  type CloudCloudfrontIntegration struct {
  2844  	// The object creation date, in epoch (Unix) time
  2845  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2846  	// Specify if Lambdas@Edge should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  2847  	FetchLambdasAtEdge bool `json:"fetchLambdasAtEdge,omitempty"`
  2848  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  2849  	FetchTags bool `json:"fetchTags,omitempty"`
  2850  	// The cloud service integration identifier.
  2851  	ID int `json:"id,omitempty"`
  2852  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2853  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2854  	// The parent linked account identifier.
  2855  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2856  	// The data polling interval in seconds.
  2857  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2858  	// The cloud service integration name.
  2859  	Name string `json:"name,omitempty"`
  2860  	// The parent NewRelic account identifier.
  2861  	NrAccountId int `json:"nrAccountId"`
  2862  	// The cloud service used in the integration.
  2863  	Service CloudService `json:"service,omitempty"`
  2864  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  2865  	TagKey string `json:"tagKey,omitempty"`
  2866  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  2867  	TagValue string `json:"tagValue,omitempty"`
  2868  	// The object last update date, in epoch (Unix) time
  2869  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2870  }
  2871  
  2872  func (x *CloudCloudfrontIntegration) ImplementsCloudIntegration() {}
  2873  
  2874  // CloudCloudfrontIntegrationInput - Amazon CloudFront
  2875  type CloudCloudfrontIntegrationInput struct {
  2876  	// Specify if Lambdas@Edge should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  2877  	FetchLambdasAtEdge bool `json:"fetchLambdasAtEdge,omitempty"`
  2878  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  2879  	FetchTags bool `json:"fetchTags,omitempty"`
  2880  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2881  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2882  	// The linked account identifier.
  2883  	LinkedAccountId int `json:"linkedAccountId"`
  2884  	// The data polling interval in seconds.
  2885  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2886  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  2887  	TagKey string `json:"tagKey,omitempty"`
  2888  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  2889  	TagValue string `json:"tagValue,omitempty"`
  2890  }
  2891  
  2892  // CloudCloudtrailIntegration - CloudTrail Integration
  2893  type CloudCloudtrailIntegration struct {
  2894  	// Specify each AWS region that includes the resources that you want to monitor.
  2895  	AwsRegions []string `json:"awsRegions,omitempty"`
  2896  	// The object creation date, in epoch (Unix) time
  2897  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  2898  	// The cloud service integration identifier.
  2899  	ID int `json:"id,omitempty"`
  2900  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2901  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2902  	// The parent linked account identifier.
  2903  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  2904  	// The data polling interval in seconds.
  2905  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2906  	// The cloud service integration name.
  2907  	Name string `json:"name,omitempty"`
  2908  	// The parent NewRelic account identifier.
  2909  	NrAccountId int `json:"nrAccountId"`
  2910  	// The cloud service used in the integration.
  2911  	Service CloudService `json:"service,omitempty"`
  2912  	// The object last update date, in epoch (Unix) time
  2913  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  2914  }
  2915  
  2916  func (x *CloudCloudtrailIntegration) ImplementsCloudIntegration() {}
  2917  
  2918  // CloudCloudtrailIntegrationInput - AWS CloudTrail
  2919  type CloudCloudtrailIntegrationInput struct {
  2920  	// Specify each AWS region that includes the resources that you want to monitor.
  2921  	AwsRegions []string `json:"awsRegions,omitempty"`
  2922  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  2923  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  2924  	// The linked account identifier.
  2925  	LinkedAccountId int `json:"linkedAccountId"`
  2926  	// The data polling interval in seconds.
  2927  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  2928  }
  2929  
  2930  // CloudConfigureIntegrationPayload - Autogenerated return type of ConfigureIntegration
  2931  type CloudConfigureIntegrationPayload struct {
  2932  	// The list of errors.
  2933  	Errors []CloudIntegrationMutationError `json:"errors"`
  2934  	// The created/modified service integrations.
  2935  	Integrations []CloudIntegrationInterface `json:"integrations"`
  2936  }
  2937  
  2938  // special
  2939  func (x *CloudConfigureIntegrationPayload) UnmarshalJSON(b []byte) error {
  2940  	var objMap map[string]*json.RawMessage
  2941  	err := json.Unmarshal(b, &objMap)
  2942  	if err != nil {
  2943  		return err
  2944  	}
  2945  
  2946  	for k, v := range objMap {
  2947  		if v == nil {
  2948  			continue
  2949  		}
  2950  
  2951  		switch k {
  2952  		case "errors":
  2953  			err = json.Unmarshal(*v, &x.Errors)
  2954  			if err != nil {
  2955  				return err
  2956  			}
  2957  		case "integrations":
  2958  			if v == nil {
  2959  				continue
  2960  			}
  2961  			var rawMessageIntegrations []*json.RawMessage
  2962  			err = json.Unmarshal(*v, &rawMessageIntegrations)
  2963  			if err != nil {
  2964  				return err
  2965  			}
  2966  
  2967  			for _, m := range rawMessageIntegrations {
  2968  				xxx, err := UnmarshalCloudIntegrationInterface(*m)
  2969  				if err != nil {
  2970  					return err
  2971  				}
  2972  
  2973  				if xxx != nil {
  2974  					x.Integrations = append(x.Integrations, *xxx)
  2975  				}
  2976  			}
  2977  		}
  2978  	}
  2979  
  2980  	return nil
  2981  }
  2982  
  2983  // CloudDisableAccountIntegrationInput - Information required to disable a cloud service integration from a linked account.
  2984  type CloudDisableAccountIntegrationInput struct {
  2985  	// The linked account identifier
  2986  	LinkedAccountId int `json:"linkedAccountId"`
  2987  }
  2988  
  2989  // CloudDisableIntegrationPayload - Autogenerated return type of DisableIntegration
  2990  type CloudDisableIntegrationPayload struct {
  2991  	// The list of disabled cloud service integrations.
  2992  	DisabledIntegrations []CloudIntegrationInterface `json:"disabledIntegrations"`
  2993  	// The list of errors.
  2994  	Errors []CloudIntegrationMutationError `json:"errors"`
  2995  }
  2996  
  2997  // special
  2998  func (x *CloudDisableIntegrationPayload) UnmarshalJSON(b []byte) error {
  2999  	var objMap map[string]*json.RawMessage
  3000  	err := json.Unmarshal(b, &objMap)
  3001  	if err != nil {
  3002  		return err
  3003  	}
  3004  
  3005  	for k, v := range objMap {
  3006  		if v == nil {
  3007  			continue
  3008  		}
  3009  
  3010  		switch k {
  3011  		case "disabledIntegrations":
  3012  			if v == nil {
  3013  				continue
  3014  			}
  3015  			var rawMessageDisabledIntegrations []*json.RawMessage
  3016  			err = json.Unmarshal(*v, &rawMessageDisabledIntegrations)
  3017  			if err != nil {
  3018  				return err
  3019  			}
  3020  
  3021  			for _, m := range rawMessageDisabledIntegrations {
  3022  				xxx, err := UnmarshalCloudIntegrationInterface(*m)
  3023  				if err != nil {
  3024  					return err
  3025  				}
  3026  
  3027  				if xxx != nil {
  3028  					x.DisabledIntegrations = append(x.DisabledIntegrations, *xxx)
  3029  				}
  3030  			}
  3031  		case "errors":
  3032  			err = json.Unmarshal(*v, &x.Errors)
  3033  			if err != nil {
  3034  				return err
  3035  			}
  3036  		}
  3037  	}
  3038  
  3039  	return nil
  3040  }
  3041  
  3042  // CloudDisableIntegrationsInput - List of providers
  3043  type CloudDisableIntegrationsInput struct {
  3044  	// Aws provider
  3045  	Aws CloudAwsDisableIntegrationsInput `json:"aws,omitempty"`
  3046  	// AwsGovcloud provider
  3047  	AwsGovcloud CloudAwsGovcloudDisableIntegrationsInput `json:"awsGovcloud,omitempty"`
  3048  	// Azure provider
  3049  	Azure CloudAzureDisableIntegrationsInput `json:"azure,omitempty"`
  3050  	// Gcp provider
  3051  	Gcp CloudGcpDisableIntegrationsInput `json:"gcp,omitempty"`
  3052  }
  3053  
  3054  // CloudDynamodbIntegration - DynamoDB Integration
  3055  type CloudDynamodbIntegration struct {
  3056  	// Specify each AWS region that includes the resources that you want to monitor.
  3057  	AwsRegions []string `json:"awsRegions,omitempty"`
  3058  	// The object creation date, in epoch (Unix) time
  3059  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3060  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3061  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3062  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3063  	FetchTags bool `json:"fetchTags,omitempty"`
  3064  	// The cloud service integration identifier.
  3065  	ID int `json:"id,omitempty"`
  3066  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3067  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3068  	// The parent linked account identifier.
  3069  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3070  	// The data polling interval in seconds.
  3071  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3072  	// The cloud service integration name.
  3073  	Name string `json:"name,omitempty"`
  3074  	// The parent NewRelic account identifier.
  3075  	NrAccountId int `json:"nrAccountId"`
  3076  	// The cloud service used in the integration.
  3077  	Service CloudService `json:"service,omitempty"`
  3078  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3079  	TagKey string `json:"tagKey,omitempty"`
  3080  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3081  	TagValue string `json:"tagValue,omitempty"`
  3082  	// The object last update date, in epoch (Unix) time
  3083  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3084  }
  3085  
  3086  func (x *CloudDynamodbIntegration) ImplementsCloudIntegration() {}
  3087  
  3088  // CloudDynamodbIntegrationInput - Amazon DynamoDB
  3089  type CloudDynamodbIntegrationInput struct {
  3090  	// Specify each AWS region that includes the resources that you want to monitor.
  3091  	AwsRegions []string `json:"awsRegions,omitempty"`
  3092  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3093  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3094  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3095  	FetchTags bool `json:"fetchTags,omitempty"`
  3096  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3097  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3098  	// The linked account identifier.
  3099  	LinkedAccountId int `json:"linkedAccountId"`
  3100  	// The data polling interval in seconds.
  3101  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3102  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3103  	TagKey string `json:"tagKey,omitempty"`
  3104  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3105  	TagValue string `json:"tagValue,omitempty"`
  3106  }
  3107  
  3108  // CloudEbsIntegration - EBS Integration
  3109  type CloudEbsIntegration struct {
  3110  	// Specify each AWS region that includes the resources that you want to monitor.
  3111  	AwsRegions []string `json:"awsRegions,omitempty"`
  3112  	// The object creation date, in epoch (Unix) time
  3113  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3114  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3115  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3116  	// The cloud service integration identifier.
  3117  	ID int `json:"id,omitempty"`
  3118  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3119  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3120  	// The parent linked account identifier.
  3121  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3122  	// The data polling interval in seconds.
  3123  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3124  	// The cloud service integration name.
  3125  	Name string `json:"name,omitempty"`
  3126  	// The parent NewRelic account identifier.
  3127  	NrAccountId int `json:"nrAccountId"`
  3128  	// The cloud service used in the integration.
  3129  	Service CloudService `json:"service,omitempty"`
  3130  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3131  	TagKey string `json:"tagKey,omitempty"`
  3132  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3133  	TagValue string `json:"tagValue,omitempty"`
  3134  	// The object last update date, in epoch (Unix) time
  3135  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3136  }
  3137  
  3138  func (x *CloudEbsIntegration) ImplementsCloudIntegration() {}
  3139  
  3140  // CloudEbsIntegrationInput - Amazon Elastic Block Store (EBS)
  3141  type CloudEbsIntegrationInput struct {
  3142  	// Specify each AWS region that includes the resources that you want to monitor.
  3143  	AwsRegions []string `json:"awsRegions,omitempty"`
  3144  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3145  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3146  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3147  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3148  	// The linked account identifier.
  3149  	LinkedAccountId int `json:"linkedAccountId"`
  3150  	// The data polling interval in seconds.
  3151  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3152  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3153  	TagKey string `json:"tagKey,omitempty"`
  3154  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3155  	TagValue string `json:"tagValue,omitempty"`
  3156  }
  3157  
  3158  // CloudEc2Integration - EC2 Integration
  3159  type CloudEc2Integration struct {
  3160  	// Specify each AWS region that includes the resources that you want to monitor.
  3161  	AwsRegions []string `json:"awsRegions,omitempty"`
  3162  	// The object creation date, in epoch (Unix) time
  3163  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3164  	// Specify if IP addresses of ec2 instance should be collected
  3165  	FetchIpAddresses bool `json:"fetchIpAddresses,omitempty"`
  3166  	// The cloud service integration identifier.
  3167  	ID int `json:"id,omitempty"`
  3168  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3169  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3170  	// The parent linked account identifier.
  3171  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3172  	// The data polling interval in seconds.
  3173  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3174  	// The cloud service integration name.
  3175  	Name string `json:"name,omitempty"`
  3176  	// The parent NewRelic account identifier.
  3177  	NrAccountId int `json:"nrAccountId"`
  3178  	// The cloud service used in the integration.
  3179  	Service CloudService `json:"service,omitempty"`
  3180  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3181  	TagKey string `json:"tagKey,omitempty"`
  3182  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3183  	TagValue string `json:"tagValue,omitempty"`
  3184  	// The object last update date, in epoch (Unix) time
  3185  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3186  }
  3187  
  3188  func (x *CloudEc2Integration) ImplementsCloudIntegration() {}
  3189  
  3190  // CloudEc2IntegrationInput - Amazon Elastic Compute Cloud (EC2)
  3191  type CloudEc2IntegrationInput struct {
  3192  	// Specify each AWS region that includes the resources that you want to monitor.
  3193  	AwsRegions []string `json:"awsRegions,omitempty"`
  3194  	// Specify if IP addresses of ec2 instance should be collected
  3195  	FetchIpAddresses bool `json:"fetchIpAddresses,omitempty"`
  3196  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3197  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3198  	// The linked account identifier.
  3199  	LinkedAccountId int `json:"linkedAccountId"`
  3200  	// The data polling interval in seconds.
  3201  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3202  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3203  	TagKey string `json:"tagKey,omitempty"`
  3204  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3205  	TagValue string `json:"tagValue,omitempty"`
  3206  }
  3207  
  3208  // CloudEcsIntegration - ECS Integration
  3209  type CloudEcsIntegration struct {
  3210  	// Specify each AWS region that includes the resources that you want to monitor.
  3211  	AwsRegions []string `json:"awsRegions,omitempty"`
  3212  	// The object creation date, in epoch (Unix) time
  3213  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3214  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3215  	FetchTags bool `json:"fetchTags,omitempty"`
  3216  	// The cloud service integration identifier.
  3217  	ID int `json:"id,omitempty"`
  3218  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3219  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3220  	// The parent linked account identifier.
  3221  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3222  	// The data polling interval in seconds.
  3223  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3224  	// The cloud service integration name.
  3225  	Name string `json:"name,omitempty"`
  3226  	// The parent NewRelic account identifier.
  3227  	NrAccountId int `json:"nrAccountId"`
  3228  	// The cloud service used in the integration.
  3229  	Service CloudService `json:"service,omitempty"`
  3230  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3231  	TagKey string `json:"tagKey,omitempty"`
  3232  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3233  	TagValue string `json:"tagValue,omitempty"`
  3234  	// The object last update date, in epoch (Unix) time
  3235  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3236  }
  3237  
  3238  func (x *CloudEcsIntegration) ImplementsCloudIntegration() {}
  3239  
  3240  // CloudEcsIntegrationInput - Amazon Elastic Container Service (ECS)
  3241  type CloudEcsIntegrationInput struct {
  3242  	// Specify each AWS region that includes the resources that you want to monitor.
  3243  	AwsRegions []string `json:"awsRegions,omitempty"`
  3244  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3245  	FetchTags bool `json:"fetchTags,omitempty"`
  3246  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3247  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3248  	// The linked account identifier.
  3249  	LinkedAccountId int `json:"linkedAccountId"`
  3250  	// The data polling interval in seconds.
  3251  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3252  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3253  	TagKey string `json:"tagKey,omitempty"`
  3254  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3255  	TagValue string `json:"tagValue,omitempty"`
  3256  }
  3257  
  3258  // CloudEfsIntegration - EFS Integration
  3259  type CloudEfsIntegration struct {
  3260  	// Specify each AWS region that includes the resources that you want to monitor.
  3261  	AwsRegions []string `json:"awsRegions,omitempty"`
  3262  	// The object creation date, in epoch (Unix) time
  3263  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3264  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3265  	FetchTags bool `json:"fetchTags,omitempty"`
  3266  	// The cloud service integration identifier.
  3267  	ID int `json:"id,omitempty"`
  3268  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3269  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3270  	// The parent linked account identifier.
  3271  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3272  	// The data polling interval in seconds.
  3273  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3274  	// The cloud service integration name.
  3275  	Name string `json:"name,omitempty"`
  3276  	// The parent NewRelic account identifier.
  3277  	NrAccountId int `json:"nrAccountId"`
  3278  	// The cloud service used in the integration.
  3279  	Service CloudService `json:"service,omitempty"`
  3280  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3281  	TagKey string `json:"tagKey,omitempty"`
  3282  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3283  	TagValue string `json:"tagValue,omitempty"`
  3284  	// The object last update date, in epoch (Unix) time
  3285  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3286  }
  3287  
  3288  func (x *CloudEfsIntegration) ImplementsCloudIntegration() {}
  3289  
  3290  // CloudEfsIntegrationInput - Amazon Elastic File System (EFS)
  3291  type CloudEfsIntegrationInput struct {
  3292  	// Specify each AWS region that includes the resources that you want to monitor.
  3293  	AwsRegions []string `json:"awsRegions,omitempty"`
  3294  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3295  	FetchTags bool `json:"fetchTags,omitempty"`
  3296  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3297  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3298  	// The linked account identifier.
  3299  	LinkedAccountId int `json:"linkedAccountId"`
  3300  	// The data polling interval in seconds.
  3301  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3302  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3303  	TagKey string `json:"tagKey,omitempty"`
  3304  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3305  	TagValue string `json:"tagValue,omitempty"`
  3306  }
  3307  
  3308  // CloudElasticacheIntegration - ElastiCache Integration
  3309  type CloudElasticacheIntegration struct {
  3310  	// Specify each AWS region that includes the resources that you want to monitor.
  3311  	AwsRegions []string `json:"awsRegions,omitempty"`
  3312  	// The object creation date, in epoch (Unix) time
  3313  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3314  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3315  	FetchTags bool `json:"fetchTags,omitempty"`
  3316  	// The cloud service integration identifier.
  3317  	ID int `json:"id,omitempty"`
  3318  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3319  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3320  	// The parent linked account identifier.
  3321  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3322  	// The data polling interval in seconds.
  3323  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3324  	// The cloud service integration name.
  3325  	Name string `json:"name,omitempty"`
  3326  	// The parent NewRelic account identifier.
  3327  	NrAccountId int `json:"nrAccountId"`
  3328  	// The cloud service used in the integration.
  3329  	Service CloudService `json:"service,omitempty"`
  3330  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3331  	TagKey string `json:"tagKey,omitempty"`
  3332  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3333  	TagValue string `json:"tagValue,omitempty"`
  3334  	// The object last update date, in epoch (Unix) time
  3335  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3336  }
  3337  
  3338  func (x *CloudElasticacheIntegration) ImplementsCloudIntegration() {}
  3339  
  3340  // CloudElasticacheIntegrationInput - Amazon ElastiCache
  3341  type CloudElasticacheIntegrationInput struct {
  3342  	// Specify each AWS region that includes the resources that you want to monitor.
  3343  	AwsRegions []string `json:"awsRegions,omitempty"`
  3344  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3345  	FetchTags bool `json:"fetchTags,omitempty"`
  3346  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3347  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3348  	// The linked account identifier.
  3349  	LinkedAccountId int `json:"linkedAccountId"`
  3350  	// The data polling interval in seconds.
  3351  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3352  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3353  	TagKey string `json:"tagKey,omitempty"`
  3354  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3355  	TagValue string `json:"tagValue,omitempty"`
  3356  }
  3357  
  3358  // CloudElasticbeanstalkIntegration - Elastic Beanstalk Integration
  3359  type CloudElasticbeanstalkIntegration struct {
  3360  	// Specify each AWS region that includes the resources that you want to monitor.
  3361  	AwsRegions []string `json:"awsRegions,omitempty"`
  3362  	// The object creation date, in epoch (Unix) time
  3363  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3364  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3365  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3366  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3367  	FetchTags bool `json:"fetchTags,omitempty"`
  3368  	// The cloud service integration identifier.
  3369  	ID int `json:"id,omitempty"`
  3370  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3371  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3372  	// The parent linked account identifier.
  3373  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3374  	// The data polling interval in seconds.
  3375  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3376  	// The cloud service integration name.
  3377  	Name string `json:"name,omitempty"`
  3378  	// The parent NewRelic account identifier.
  3379  	NrAccountId int `json:"nrAccountId"`
  3380  	// The cloud service used in the integration.
  3381  	Service CloudService `json:"service,omitempty"`
  3382  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3383  	TagKey string `json:"tagKey,omitempty"`
  3384  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3385  	TagValue string `json:"tagValue,omitempty"`
  3386  	// The object last update date, in epoch (Unix) time
  3387  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3388  }
  3389  
  3390  func (x *CloudElasticbeanstalkIntegration) ImplementsCloudIntegration() {}
  3391  
  3392  // CloudElasticbeanstalkIntegrationInput - AWS Elastic Beanstalk
  3393  type CloudElasticbeanstalkIntegrationInput struct {
  3394  	// Specify each AWS region that includes the resources that you want to monitor.
  3395  	AwsRegions []string `json:"awsRegions,omitempty"`
  3396  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3397  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3398  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3399  	FetchTags bool `json:"fetchTags,omitempty"`
  3400  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3401  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3402  	// The linked account identifier.
  3403  	LinkedAccountId int `json:"linkedAccountId"`
  3404  	// The data polling interval in seconds.
  3405  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3406  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3407  	TagKey string `json:"tagKey,omitempty"`
  3408  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3409  	TagValue string `json:"tagValue,omitempty"`
  3410  }
  3411  
  3412  // CloudElasticsearchIntegration - Elasticsearch Service Integration
  3413  type CloudElasticsearchIntegration struct {
  3414  	// Specify each AWS region that includes the resources that you want to monitor.
  3415  	AwsRegions []string `json:"awsRegions,omitempty"`
  3416  	// The object creation date, in epoch (Unix) time
  3417  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3418  	// Specify if metrics should be collected for nodes. Turning it on will increase the number of API calls made to CloudWatch.
  3419  	FetchNodes bool `json:"fetchNodes,omitempty"`
  3420  	// The cloud service integration identifier.
  3421  	ID int `json:"id,omitempty"`
  3422  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3423  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3424  	// The parent linked account identifier.
  3425  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3426  	// The data polling interval in seconds.
  3427  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3428  	// The cloud service integration name.
  3429  	Name string `json:"name,omitempty"`
  3430  	// The parent NewRelic account identifier.
  3431  	NrAccountId int `json:"nrAccountId"`
  3432  	// The cloud service used in the integration.
  3433  	Service CloudService `json:"service,omitempty"`
  3434  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3435  	TagKey string `json:"tagKey,omitempty"`
  3436  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3437  	TagValue string `json:"tagValue,omitempty"`
  3438  	// The object last update date, in epoch (Unix) time
  3439  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3440  }
  3441  
  3442  func (x *CloudElasticsearchIntegration) ImplementsCloudIntegration() {}
  3443  
  3444  // CloudElasticsearchIntegrationInput - Amazon Elasticsearch Service
  3445  type CloudElasticsearchIntegrationInput struct {
  3446  	// Specify each AWS region that includes the resources that you want to monitor.
  3447  	AwsRegions []string `json:"awsRegions,omitempty"`
  3448  	// Specify if metrics should be collected for nodes. Turning it on will increase the number of API calls made to CloudWatch.
  3449  	FetchNodes bool `json:"fetchNodes,omitempty"`
  3450  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3451  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3452  	// The linked account identifier.
  3453  	LinkedAccountId int `json:"linkedAccountId"`
  3454  	// The data polling interval in seconds.
  3455  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3456  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3457  	TagKey string `json:"tagKey,omitempty"`
  3458  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3459  	TagValue string `json:"tagValue,omitempty"`
  3460  }
  3461  
  3462  // CloudElbIntegration - ELB (Classic) Integration
  3463  type CloudElbIntegration struct {
  3464  	// Specify each AWS region that includes the resources that you want to monitor.
  3465  	AwsRegions []string `json:"awsRegions,omitempty"`
  3466  	// The object creation date, in epoch (Unix) time
  3467  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3468  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3469  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3470  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3471  	FetchTags bool `json:"fetchTags,omitempty"`
  3472  	// The cloud service integration identifier.
  3473  	ID int `json:"id,omitempty"`
  3474  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3475  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3476  	// The parent linked account identifier.
  3477  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3478  	// The data polling interval in seconds.
  3479  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3480  	// The cloud service integration name.
  3481  	Name string `json:"name,omitempty"`
  3482  	// The parent NewRelic account identifier.
  3483  	NrAccountId int `json:"nrAccountId"`
  3484  	// The cloud service used in the integration.
  3485  	Service CloudService `json:"service,omitempty"`
  3486  	// The object last update date, in epoch (Unix) time
  3487  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3488  }
  3489  
  3490  func (x *CloudElbIntegration) ImplementsCloudIntegration() {}
  3491  
  3492  // CloudElbIntegrationInput - Elastic Load Balancing - Classic Load Balancer (ELB)
  3493  type CloudElbIntegrationInput struct {
  3494  	// Specify each AWS region that includes the resources that you want to monitor.
  3495  	AwsRegions []string `json:"awsRegions,omitempty"`
  3496  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3497  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  3498  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3499  	FetchTags bool `json:"fetchTags,omitempty"`
  3500  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3501  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3502  	// The linked account identifier.
  3503  	LinkedAccountId int `json:"linkedAccountId"`
  3504  	// The data polling interval in seconds.
  3505  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3506  }
  3507  
  3508  // CloudEmrIntegration - EMR Integration
  3509  type CloudEmrIntegration struct {
  3510  	// Specify each AWS region that includes the resources that you want to monitor.
  3511  	AwsRegions []string `json:"awsRegions,omitempty"`
  3512  	// The object creation date, in epoch (Unix) time
  3513  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3514  	// Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3515  	FetchTags bool `json:"fetchTags,omitempty"`
  3516  	// The cloud service integration identifier.
  3517  	ID int `json:"id,omitempty"`
  3518  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3519  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3520  	// The parent linked account identifier.
  3521  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3522  	// The data polling interval in seconds.
  3523  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3524  	// The cloud service integration name.
  3525  	Name string `json:"name,omitempty"`
  3526  	// The parent NewRelic account identifier.
  3527  	NrAccountId int `json:"nrAccountId"`
  3528  	// The cloud service used in the integration.
  3529  	Service CloudService `json:"service,omitempty"`
  3530  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3531  	TagKey string `json:"tagKey,omitempty"`
  3532  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3533  	TagValue string `json:"tagValue,omitempty"`
  3534  	// The object last update date, in epoch (Unix) time
  3535  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3536  }
  3537  
  3538  func (x *CloudEmrIntegration) ImplementsCloudIntegration() {}
  3539  
  3540  // CloudEmrIntegrationInput - Amazon Elastic MapReduce (EMR)
  3541  type CloudEmrIntegrationInput struct {
  3542  	// Specify each AWS region that includes the resources that you want to monitor.
  3543  	AwsRegions []string `json:"awsRegions,omitempty"`
  3544  	// Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3545  	FetchTags bool `json:"fetchTags,omitempty"`
  3546  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3547  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3548  	// The linked account identifier.
  3549  	LinkedAccountId int `json:"linkedAccountId"`
  3550  	// The data polling interval in seconds.
  3551  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3552  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  3553  	TagKey string `json:"tagKey,omitempty"`
  3554  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  3555  	TagValue string `json:"tagValue,omitempty"`
  3556  }
  3557  
  3558  // CloudGcpAppengineIntegration - App Engine Integration
  3559  type CloudGcpAppengineIntegration struct {
  3560  	// The object creation date, in epoch (Unix) time
  3561  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3562  	// The cloud service integration identifier.
  3563  	ID int `json:"id,omitempty"`
  3564  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3565  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3566  	// The parent linked account identifier.
  3567  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3568  	// The data polling interval in seconds.
  3569  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3570  	// The cloud service integration name.
  3571  	Name string `json:"name,omitempty"`
  3572  	// The parent NewRelic account identifier.
  3573  	NrAccountId int `json:"nrAccountId"`
  3574  	// The cloud service used in the integration.
  3575  	Service CloudService `json:"service,omitempty"`
  3576  	// The object last update date, in epoch (Unix) time
  3577  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3578  }
  3579  
  3580  func (x *CloudGcpAppengineIntegration) ImplementsCloudIntegration() {}
  3581  
  3582  // CloudGcpAppengineIntegrationInput - Google App Engine
  3583  type CloudGcpAppengineIntegrationInput struct {
  3584  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3585  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3586  	// The linked account identifier.
  3587  	LinkedAccountId int `json:"linkedAccountId"`
  3588  	// The data polling interval in seconds.
  3589  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3590  }
  3591  
  3592  // CloudGcpBigqueryIntegration - BigQuery Integration
  3593  type CloudGcpBigqueryIntegration struct {
  3594  	// The object creation date, in epoch (Unix) time
  3595  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3596  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3597  	FetchTags bool `json:"fetchTags,omitempty"`
  3598  	// The cloud service integration identifier.
  3599  	ID int `json:"id,omitempty"`
  3600  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3601  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3602  	// The parent linked account identifier.
  3603  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3604  	// The data polling interval in seconds.
  3605  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3606  	// The cloud service integration name.
  3607  	Name string `json:"name,omitempty"`
  3608  	// The parent NewRelic account identifier.
  3609  	NrAccountId int `json:"nrAccountId"`
  3610  	// The cloud service used in the integration.
  3611  	Service CloudService `json:"service,omitempty"`
  3612  	// The object last update date, in epoch (Unix) time
  3613  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3614  }
  3615  
  3616  func (x *CloudGcpBigqueryIntegration) ImplementsCloudIntegration() {}
  3617  
  3618  // CloudGcpBigqueryIntegrationInput - BigQuery
  3619  type CloudGcpBigqueryIntegrationInput struct {
  3620  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  3621  	FetchTags bool `json:"fetchTags,omitempty"`
  3622  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3623  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3624  	// The linked account identifier.
  3625  	LinkedAccountId int `json:"linkedAccountId"`
  3626  	// The data polling interval in seconds.
  3627  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3628  }
  3629  
  3630  // CloudGcpBigtableIntegration - Bigtable Integration
  3631  type CloudGcpBigtableIntegration struct {
  3632  	// The object creation date, in epoch (Unix) time
  3633  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3634  	// The cloud service integration identifier.
  3635  	ID int `json:"id,omitempty"`
  3636  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3637  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3638  	// The parent linked account identifier.
  3639  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3640  	// The data polling interval in seconds.
  3641  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3642  	// The cloud service integration name.
  3643  	Name string `json:"name,omitempty"`
  3644  	// The parent NewRelic account identifier.
  3645  	NrAccountId int `json:"nrAccountId"`
  3646  	// The cloud service used in the integration.
  3647  	Service CloudService `json:"service,omitempty"`
  3648  	// The object last update date, in epoch (Unix) time
  3649  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3650  }
  3651  
  3652  func (x *CloudGcpBigtableIntegration) ImplementsCloudIntegration() {}
  3653  
  3654  // CloudGcpBigtableIntegrationInput - Bigtable
  3655  type CloudGcpBigtableIntegrationInput struct {
  3656  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3657  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3658  	// The linked account identifier.
  3659  	LinkedAccountId int `json:"linkedAccountId"`
  3660  	// The data polling interval in seconds.
  3661  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3662  }
  3663  
  3664  // CloudGcpComposerIntegration - Composer Integration
  3665  type CloudGcpComposerIntegration struct {
  3666  	// The object creation date, in epoch (Unix) time
  3667  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3668  	// The cloud service integration identifier.
  3669  	ID int `json:"id,omitempty"`
  3670  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3671  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3672  	// The parent linked account identifier.
  3673  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3674  	// The data polling interval in seconds.
  3675  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3676  	// The cloud service integration name.
  3677  	Name string `json:"name,omitempty"`
  3678  	// The parent NewRelic account identifier.
  3679  	NrAccountId int `json:"nrAccountId"`
  3680  	// The cloud service used in the integration.
  3681  	Service CloudService `json:"service,omitempty"`
  3682  	// The object last update date, in epoch (Unix) time
  3683  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3684  }
  3685  
  3686  func (x *CloudGcpComposerIntegration) ImplementsCloudIntegration() {}
  3687  
  3688  // CloudGcpComposerIntegrationInput - Composer
  3689  type CloudGcpComposerIntegrationInput struct {
  3690  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3691  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3692  	// The linked account identifier.
  3693  	LinkedAccountId int `json:"linkedAccountId"`
  3694  	// The data polling interval in seconds.
  3695  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3696  }
  3697  
  3698  // CloudGcpDataflowIntegration - Dataflow Integration
  3699  type CloudGcpDataflowIntegration struct {
  3700  	// The object creation date, in epoch (Unix) time
  3701  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3702  	// The cloud service integration identifier.
  3703  	ID int `json:"id,omitempty"`
  3704  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3705  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3706  	// The parent linked account identifier.
  3707  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3708  	// The data polling interval in seconds.
  3709  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3710  	// The cloud service integration name.
  3711  	Name string `json:"name,omitempty"`
  3712  	// The parent NewRelic account identifier.
  3713  	NrAccountId int `json:"nrAccountId"`
  3714  	// The cloud service used in the integration.
  3715  	Service CloudService `json:"service,omitempty"`
  3716  	// The object last update date, in epoch (Unix) time
  3717  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3718  }
  3719  
  3720  func (x *CloudGcpDataflowIntegration) ImplementsCloudIntegration() {}
  3721  
  3722  // CloudGcpDataflowIntegrationInput - Dataflow
  3723  type CloudGcpDataflowIntegrationInput struct {
  3724  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3725  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3726  	// The linked account identifier.
  3727  	LinkedAccountId int `json:"linkedAccountId"`
  3728  	// The data polling interval in seconds.
  3729  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3730  }
  3731  
  3732  // CloudGcpDataprocIntegration - Dataproc Integration
  3733  type CloudGcpDataprocIntegration struct {
  3734  	// The object creation date, in epoch (Unix) time
  3735  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3736  	// The cloud service integration identifier.
  3737  	ID int `json:"id,omitempty"`
  3738  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3739  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3740  	// The parent linked account identifier.
  3741  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3742  	// The data polling interval in seconds.
  3743  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3744  	// The cloud service integration name.
  3745  	Name string `json:"name,omitempty"`
  3746  	// The parent NewRelic account identifier.
  3747  	NrAccountId int `json:"nrAccountId"`
  3748  	// The cloud service used in the integration.
  3749  	Service CloudService `json:"service,omitempty"`
  3750  	// The object last update date, in epoch (Unix) time
  3751  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3752  }
  3753  
  3754  func (x *CloudGcpDataprocIntegration) ImplementsCloudIntegration() {}
  3755  
  3756  // CloudGcpDataprocIntegrationInput - Dataproc
  3757  type CloudGcpDataprocIntegrationInput struct {
  3758  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3759  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3760  	// The linked account identifier.
  3761  	LinkedAccountId int `json:"linkedAccountId"`
  3762  	// The data polling interval in seconds.
  3763  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3764  }
  3765  
  3766  // CloudGcpDatastoreIntegration - Datastore Integration
  3767  type CloudGcpDatastoreIntegration struct {
  3768  	// The object creation date, in epoch (Unix) time
  3769  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3770  	// The cloud service integration identifier.
  3771  	ID int `json:"id,omitempty"`
  3772  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3773  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3774  	// The parent linked account identifier.
  3775  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3776  	// The data polling interval in seconds.
  3777  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3778  	// The cloud service integration name.
  3779  	Name string `json:"name,omitempty"`
  3780  	// The parent NewRelic account identifier.
  3781  	NrAccountId int `json:"nrAccountId"`
  3782  	// The cloud service used in the integration.
  3783  	Service CloudService `json:"service,omitempty"`
  3784  	// The object last update date, in epoch (Unix) time
  3785  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3786  }
  3787  
  3788  func (x *CloudGcpDatastoreIntegration) ImplementsCloudIntegration() {}
  3789  
  3790  // CloudGcpDatastoreIntegrationInput - Datastore
  3791  type CloudGcpDatastoreIntegrationInput struct {
  3792  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3793  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3794  	// The linked account identifier.
  3795  	LinkedAccountId int `json:"linkedAccountId"`
  3796  	// The data polling interval in seconds.
  3797  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3798  }
  3799  
  3800  // CloudGcpDisableIntegrationsInput - List of integrations
  3801  type CloudGcpDisableIntegrationsInput struct {
  3802  	// App Engine integration
  3803  	GcpAppengine []CloudDisableAccountIntegrationInput `json:"gcpAppengine,omitempty"`
  3804  	// BigQuery integration
  3805  	GcpBigquery []CloudDisableAccountIntegrationInput `json:"gcpBigquery,omitempty"`
  3806  	// Bigtable integration
  3807  	GcpBigtable []CloudDisableAccountIntegrationInput `json:"gcpBigtable,omitempty"`
  3808  	// Composer integration
  3809  	GcpComposer []CloudDisableAccountIntegrationInput `json:"gcpComposer,omitempty"`
  3810  	// Dataflow integration
  3811  	GcpDataflow []CloudDisableAccountIntegrationInput `json:"gcpDataflow,omitempty"`
  3812  	// Dataproc integration
  3813  	GcpDataproc []CloudDisableAccountIntegrationInput `json:"gcpDataproc,omitempty"`
  3814  	// Datastore integration
  3815  	GcpDatastore []CloudDisableAccountIntegrationInput `json:"gcpDatastore,omitempty"`
  3816  	// Firebase Database integration
  3817  	GcpFirebasedatabase []CloudDisableAccountIntegrationInput `json:"gcpFirebasedatabase,omitempty"`
  3818  	// Firebase Hosting integration
  3819  	GcpFirebasehosting []CloudDisableAccountIntegrationInput `json:"gcpFirebasehosting,omitempty"`
  3820  	// Firebase Storage integration
  3821  	GcpFirebasestorage []CloudDisableAccountIntegrationInput `json:"gcpFirebasestorage,omitempty"`
  3822  	// Firestore integration
  3823  	GcpFirestore []CloudDisableAccountIntegrationInput `json:"gcpFirestore,omitempty"`
  3824  	// Cloud Functions integration
  3825  	GcpFunctions []CloudDisableAccountIntegrationInput `json:"gcpFunctions,omitempty"`
  3826  	// Interconnect integration
  3827  	GcpInterconnect []CloudDisableAccountIntegrationInput `json:"gcpInterconnect,omitempty"`
  3828  	// Kubernetes Engine integration
  3829  	GcpKubernetes []CloudDisableAccountIntegrationInput `json:"gcpKubernetes,omitempty"`
  3830  	// Cloud Load Balancing integration
  3831  	GcpLoadbalancing []CloudDisableAccountIntegrationInput `json:"gcpLoadbalancing,omitempty"`
  3832  	// Memcache integration
  3833  	GcpMemcache []CloudDisableAccountIntegrationInput `json:"gcpMemcache,omitempty"`
  3834  	// Cloud Pub/Sub integration
  3835  	GcpPubsub []CloudDisableAccountIntegrationInput `json:"gcpPubsub,omitempty"`
  3836  	// Redis integration
  3837  	GcpRedis []CloudDisableAccountIntegrationInput `json:"gcpRedis,omitempty"`
  3838  	// Router integration
  3839  	GcpRouter []CloudDisableAccountIntegrationInput `json:"gcpRouter,omitempty"`
  3840  	// Run integration
  3841  	GcpRun []CloudDisableAccountIntegrationInput `json:"gcpRun,omitempty"`
  3842  	// Cloud Spanner integration
  3843  	GcpSpanner []CloudDisableAccountIntegrationInput `json:"gcpSpanner,omitempty"`
  3844  	// Cloud SQL integration
  3845  	GcpSql []CloudDisableAccountIntegrationInput `json:"gcpSql,omitempty"`
  3846  	// Cloud Storage integration
  3847  	GcpStorage []CloudDisableAccountIntegrationInput `json:"gcpStorage,omitempty"`
  3848  	// Compute Engine integration
  3849  	GcpVms []CloudDisableAccountIntegrationInput `json:"gcpVms,omitempty"`
  3850  	// VPC Access integration
  3851  	GcpVpcaccess []CloudDisableAccountIntegrationInput `json:"gcpVpcaccess,omitempty"`
  3852  }
  3853  
  3854  // CloudGcpFirebasedatabaseIntegration - Firebase Database Integration
  3855  type CloudGcpFirebasedatabaseIntegration struct {
  3856  	// The object creation date, in epoch (Unix) time
  3857  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3858  	// The cloud service integration identifier.
  3859  	ID int `json:"id,omitempty"`
  3860  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3861  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3862  	// The parent linked account identifier.
  3863  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3864  	// The data polling interval in seconds.
  3865  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3866  	// The cloud service integration name.
  3867  	Name string `json:"name,omitempty"`
  3868  	// The parent NewRelic account identifier.
  3869  	NrAccountId int `json:"nrAccountId"`
  3870  	// The cloud service used in the integration.
  3871  	Service CloudService `json:"service,omitempty"`
  3872  	// The object last update date, in epoch (Unix) time
  3873  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3874  }
  3875  
  3876  func (x *CloudGcpFirebasedatabaseIntegration) ImplementsCloudIntegration() {}
  3877  
  3878  // CloudGcpFirebasedatabaseIntegrationInput - Firebase Database
  3879  type CloudGcpFirebasedatabaseIntegrationInput struct {
  3880  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3881  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3882  	// The linked account identifier.
  3883  	LinkedAccountId int `json:"linkedAccountId"`
  3884  	// The data polling interval in seconds.
  3885  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3886  }
  3887  
  3888  // CloudGcpFirebasehostingIntegration - Firebase Hosting Integration
  3889  type CloudGcpFirebasehostingIntegration struct {
  3890  	// The object creation date, in epoch (Unix) time
  3891  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3892  	// The cloud service integration identifier.
  3893  	ID int `json:"id,omitempty"`
  3894  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3895  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3896  	// The parent linked account identifier.
  3897  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3898  	// The data polling interval in seconds.
  3899  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3900  	// The cloud service integration name.
  3901  	Name string `json:"name,omitempty"`
  3902  	// The parent NewRelic account identifier.
  3903  	NrAccountId int `json:"nrAccountId"`
  3904  	// The cloud service used in the integration.
  3905  	Service CloudService `json:"service,omitempty"`
  3906  	// The object last update date, in epoch (Unix) time
  3907  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3908  }
  3909  
  3910  func (x *CloudGcpFirebasehostingIntegration) ImplementsCloudIntegration() {}
  3911  
  3912  // CloudGcpFirebasehostingIntegrationInput - Firebase Hosting
  3913  type CloudGcpFirebasehostingIntegrationInput struct {
  3914  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3915  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3916  	// The linked account identifier.
  3917  	LinkedAccountId int `json:"linkedAccountId"`
  3918  	// The data polling interval in seconds.
  3919  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3920  }
  3921  
  3922  // CloudGcpFirebasestorageIntegration - Firebase Storage Integration
  3923  type CloudGcpFirebasestorageIntegration struct {
  3924  	// The object creation date, in epoch (Unix) time
  3925  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3926  	// The cloud service integration identifier.
  3927  	ID int `json:"id,omitempty"`
  3928  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3929  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3930  	// The parent linked account identifier.
  3931  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3932  	// The data polling interval in seconds.
  3933  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3934  	// The cloud service integration name.
  3935  	Name string `json:"name,omitempty"`
  3936  	// The parent NewRelic account identifier.
  3937  	NrAccountId int `json:"nrAccountId"`
  3938  	// The cloud service used in the integration.
  3939  	Service CloudService `json:"service,omitempty"`
  3940  	// The object last update date, in epoch (Unix) time
  3941  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3942  }
  3943  
  3944  func (x *CloudGcpFirebasestorageIntegration) ImplementsCloudIntegration() {}
  3945  
  3946  // CloudGcpFirebasestorageIntegrationInput - Firebase Storage
  3947  type CloudGcpFirebasestorageIntegrationInput struct {
  3948  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3949  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3950  	// The linked account identifier.
  3951  	LinkedAccountId int `json:"linkedAccountId"`
  3952  	// The data polling interval in seconds.
  3953  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3954  }
  3955  
  3956  // CloudGcpFirestoreIntegration - Firestore Integration
  3957  type CloudGcpFirestoreIntegration struct {
  3958  	// The object creation date, in epoch (Unix) time
  3959  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3960  	// The cloud service integration identifier.
  3961  	ID int `json:"id,omitempty"`
  3962  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3963  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3964  	// The parent linked account identifier.
  3965  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  3966  	// The data polling interval in seconds.
  3967  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3968  	// The cloud service integration name.
  3969  	Name string `json:"name,omitempty"`
  3970  	// The parent NewRelic account identifier.
  3971  	NrAccountId int `json:"nrAccountId"`
  3972  	// The cloud service used in the integration.
  3973  	Service CloudService `json:"service,omitempty"`
  3974  	// The object last update date, in epoch (Unix) time
  3975  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  3976  }
  3977  
  3978  func (x *CloudGcpFirestoreIntegration) ImplementsCloudIntegration() {}
  3979  
  3980  // CloudGcpFirestoreIntegrationInput - Firestore
  3981  type CloudGcpFirestoreIntegrationInput struct {
  3982  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3983  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3984  	// The linked account identifier.
  3985  	LinkedAccountId int `json:"linkedAccountId"`
  3986  	// The data polling interval in seconds.
  3987  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  3988  }
  3989  
  3990  // CloudGcpFunctionsIntegration - Cloud Functions Integration
  3991  type CloudGcpFunctionsIntegration struct {
  3992  	// The object creation date, in epoch (Unix) time
  3993  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  3994  	// The cloud service integration identifier.
  3995  	ID int `json:"id,omitempty"`
  3996  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  3997  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  3998  	// The parent linked account identifier.
  3999  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4000  	// The data polling interval in seconds.
  4001  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4002  	// The cloud service integration name.
  4003  	Name string `json:"name,omitempty"`
  4004  	// The parent NewRelic account identifier.
  4005  	NrAccountId int `json:"nrAccountId"`
  4006  	// The cloud service used in the integration.
  4007  	Service CloudService `json:"service,omitempty"`
  4008  	// The object last update date, in epoch (Unix) time
  4009  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4010  }
  4011  
  4012  func (x *CloudGcpFunctionsIntegration) ImplementsCloudIntegration() {}
  4013  
  4014  // CloudGcpFunctionsIntegrationInput - Google Cloud Functions
  4015  type CloudGcpFunctionsIntegrationInput struct {
  4016  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4017  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4018  	// The linked account identifier.
  4019  	LinkedAccountId int `json:"linkedAccountId"`
  4020  	// The data polling interval in seconds.
  4021  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4022  }
  4023  
  4024  // CloudGcpIntegrationsInput - List of integrations
  4025  type CloudGcpIntegrationsInput struct {
  4026  	// App Engine integration
  4027  	GcpAppengine []CloudGcpAppengineIntegrationInput `json:"gcpAppengine,omitempty"`
  4028  	// BigQuery integration
  4029  	GcpBigquery []CloudGcpBigqueryIntegrationInput `json:"gcpBigquery,omitempty"`
  4030  	// Bigtable integration
  4031  	GcpBigtable []CloudGcpBigtableIntegrationInput `json:"gcpBigtable,omitempty"`
  4032  	// Composer integration
  4033  	GcpComposer []CloudGcpComposerIntegrationInput `json:"gcpComposer,omitempty"`
  4034  	// Dataflow integration
  4035  	GcpDataflow []CloudGcpDataflowIntegrationInput `json:"gcpDataflow,omitempty"`
  4036  	// Dataproc integration
  4037  	GcpDataproc []CloudGcpDataprocIntegrationInput `json:"gcpDataproc,omitempty"`
  4038  	// Datastore integration
  4039  	GcpDatastore []CloudGcpDatastoreIntegrationInput `json:"gcpDatastore,omitempty"`
  4040  	// Firebase Database integration
  4041  	GcpFirebasedatabase []CloudGcpFirebasedatabaseIntegrationInput `json:"gcpFirebasedatabase,omitempty"`
  4042  	// Firebase Hosting integration
  4043  	GcpFirebasehosting []CloudGcpFirebasehostingIntegrationInput `json:"gcpFirebasehosting,omitempty"`
  4044  	// Firebase Storage integration
  4045  	GcpFirebasestorage []CloudGcpFirebasestorageIntegrationInput `json:"gcpFirebasestorage,omitempty"`
  4046  	// Firestore integration
  4047  	GcpFirestore []CloudGcpFirestoreIntegrationInput `json:"gcpFirestore,omitempty"`
  4048  	// Cloud Functions integration
  4049  	GcpFunctions []CloudGcpFunctionsIntegrationInput `json:"gcpFunctions,omitempty"`
  4050  	// Interconnect integration
  4051  	GcpInterconnect []CloudGcpInterconnectIntegrationInput `json:"gcpInterconnect,omitempty"`
  4052  	// Kubernetes Engine integration
  4053  	GcpKubernetes []CloudGcpKubernetesIntegrationInput `json:"gcpKubernetes,omitempty"`
  4054  	// Cloud Load Balancing integration
  4055  	GcpLoadbalancing []CloudGcpLoadbalancingIntegrationInput `json:"gcpLoadbalancing,omitempty"`
  4056  	// Memcache integration
  4057  	GcpMemcache []CloudGcpMemcacheIntegrationInput `json:"gcpMemcache,omitempty"`
  4058  	// Cloud Pub/Sub integration
  4059  	GcpPubsub []CloudGcpPubsubIntegrationInput `json:"gcpPubsub,omitempty"`
  4060  	// Redis integration
  4061  	GcpRedis []CloudGcpRedisIntegrationInput `json:"gcpRedis,omitempty"`
  4062  	// Router integration
  4063  	GcpRouter []CloudGcpRouterIntegrationInput `json:"gcpRouter,omitempty"`
  4064  	// Run integration
  4065  	GcpRun []CloudGcpRunIntegrationInput `json:"gcpRun,omitempty"`
  4066  	// Cloud Spanner integration
  4067  	GcpSpanner []CloudGcpSpannerIntegrationInput `json:"gcpSpanner,omitempty"`
  4068  	// Cloud SQL integration
  4069  	GcpSql []CloudGcpSqlIntegrationInput `json:"gcpSql,omitempty"`
  4070  	// Cloud Storage integration
  4071  	GcpStorage []CloudGcpStorageIntegrationInput `json:"gcpStorage,omitempty"`
  4072  	// Compute Engine integration
  4073  	GcpVms []CloudGcpVmsIntegrationInput `json:"gcpVms,omitempty"`
  4074  	// VPC Access integration
  4075  	GcpVpcaccess []CloudGcpVpcaccessIntegrationInput `json:"gcpVpcaccess,omitempty"`
  4076  }
  4077  
  4078  // CloudGcpInterconnectIntegration - Interconnect Integration
  4079  type CloudGcpInterconnectIntegration struct {
  4080  	// The object creation date, in epoch (Unix) time
  4081  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4082  	// The cloud service integration identifier.
  4083  	ID int `json:"id,omitempty"`
  4084  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4085  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4086  	// The parent linked account identifier.
  4087  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4088  	// The data polling interval in seconds.
  4089  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4090  	// The cloud service integration name.
  4091  	Name string `json:"name,omitempty"`
  4092  	// The parent NewRelic account identifier.
  4093  	NrAccountId int `json:"nrAccountId"`
  4094  	// The cloud service used in the integration.
  4095  	Service CloudService `json:"service,omitempty"`
  4096  	// The object last update date, in epoch (Unix) time
  4097  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4098  }
  4099  
  4100  func (x *CloudGcpInterconnectIntegration) ImplementsCloudIntegration() {}
  4101  
  4102  // CloudGcpInterconnectIntegrationInput - Interconnect
  4103  type CloudGcpInterconnectIntegrationInput struct {
  4104  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4105  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4106  	// The linked account identifier.
  4107  	LinkedAccountId int `json:"linkedAccountId"`
  4108  	// The data polling interval in seconds.
  4109  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4110  }
  4111  
  4112  // CloudGcpKubernetesIntegration - Kubernetes Engine Integration
  4113  type CloudGcpKubernetesIntegration struct {
  4114  	// The object creation date, in epoch (Unix) time
  4115  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4116  	// The cloud service integration identifier.
  4117  	ID int `json:"id,omitempty"`
  4118  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4119  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4120  	// The parent linked account identifier.
  4121  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4122  	// The data polling interval in seconds.
  4123  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4124  	// The cloud service integration name.
  4125  	Name string `json:"name,omitempty"`
  4126  	// The parent NewRelic account identifier.
  4127  	NrAccountId int `json:"nrAccountId"`
  4128  	// The cloud service used in the integration.
  4129  	Service CloudService `json:"service,omitempty"`
  4130  	// The object last update date, in epoch (Unix) time
  4131  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4132  }
  4133  
  4134  func (x *CloudGcpKubernetesIntegration) ImplementsCloudIntegration() {}
  4135  
  4136  // CloudGcpKubernetesIntegrationInput - Google Kubernetes Engine
  4137  type CloudGcpKubernetesIntegrationInput struct {
  4138  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4139  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4140  	// The linked account identifier.
  4141  	LinkedAccountId int `json:"linkedAccountId"`
  4142  	// The data polling interval in seconds.
  4143  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4144  }
  4145  
  4146  // CloudGcpLinkAccountInput - Information required to link a GCP account to a NewRelic account.
  4147  type CloudGcpLinkAccountInput struct {
  4148  	// The linked account name.
  4149  	Name string `json:"name"`
  4150  	// The GCP project identifier.
  4151  	ProjectId string `json:"projectId"`
  4152  }
  4153  
  4154  // CloudGcpLoadbalancingIntegration - Cloud Load Balancing Integration
  4155  type CloudGcpLoadbalancingIntegration struct {
  4156  	// The object creation date, in epoch (Unix) time
  4157  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4158  	// The cloud service integration identifier.
  4159  	ID int `json:"id,omitempty"`
  4160  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4161  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4162  	// The parent linked account identifier.
  4163  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4164  	// The data polling interval in seconds.
  4165  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4166  	// The cloud service integration name.
  4167  	Name string `json:"name,omitempty"`
  4168  	// The parent NewRelic account identifier.
  4169  	NrAccountId int `json:"nrAccountId"`
  4170  	// The cloud service used in the integration.
  4171  	Service CloudService `json:"service,omitempty"`
  4172  	// The object last update date, in epoch (Unix) time
  4173  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4174  }
  4175  
  4176  func (x *CloudGcpLoadbalancingIntegration) ImplementsCloudIntegration() {}
  4177  
  4178  // CloudGcpLoadbalancingIntegrationInput - Google Cloud Load Balancing
  4179  type CloudGcpLoadbalancingIntegrationInput struct {
  4180  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4181  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4182  	// The linked account identifier.
  4183  	LinkedAccountId int `json:"linkedAccountId"`
  4184  	// The data polling interval in seconds.
  4185  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4186  }
  4187  
  4188  // CloudGcpMemcacheIntegration - Memcache Integration
  4189  type CloudGcpMemcacheIntegration struct {
  4190  	// The object creation date, in epoch (Unix) time
  4191  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4192  	// The cloud service integration identifier.
  4193  	ID int `json:"id,omitempty"`
  4194  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4195  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4196  	// The parent linked account identifier.
  4197  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4198  	// The data polling interval in seconds.
  4199  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4200  	// The cloud service integration name.
  4201  	Name string `json:"name,omitempty"`
  4202  	// The parent NewRelic account identifier.
  4203  	NrAccountId int `json:"nrAccountId"`
  4204  	// The cloud service used in the integration.
  4205  	Service CloudService `json:"service,omitempty"`
  4206  	// The object last update date, in epoch (Unix) time
  4207  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4208  }
  4209  
  4210  func (x *CloudGcpMemcacheIntegration) ImplementsCloudIntegration() {}
  4211  
  4212  // CloudGcpMemcacheIntegrationInput - Memcache
  4213  type CloudGcpMemcacheIntegrationInput struct {
  4214  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4215  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4216  	// The linked account identifier.
  4217  	LinkedAccountId int `json:"linkedAccountId"`
  4218  	// The data polling interval in seconds.
  4219  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4220  }
  4221  
  4222  // CloudGcpProvider - The Google Cloud Platform cloud provider
  4223  type CloudGcpProvider struct {
  4224  	// The object creation date, in epoch (Unix) time
  4225  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4226  	// The cloud provider identifier in NewRelic.
  4227  	ID int `json:"id"`
  4228  	// The cloud provider icon name.
  4229  	Icon string `json:"icon"`
  4230  	// The cloud provider name.
  4231  	Name string `json:"name"`
  4232  	// Get details of one cloud provider service.
  4233  	Service CloudService `json:"service,omitempty"`
  4234  	// The service account identifier used to link the GCP project to NewRelic.
  4235  	ServiceAccountId string `json:"serviceAccountId"`
  4236  	// Get details of all the cloud provider services available for integration.
  4237  	Services []CloudService `json:"services"`
  4238  	// The cloud provider short name.
  4239  	Slug string `json:"slug"`
  4240  	// The object last update date, in epoch (Unix) time
  4241  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4242  }
  4243  
  4244  func (x *CloudGcpProvider) ImplementsCloudProvider() {}
  4245  
  4246  // CloudGcpPubsubIntegration - Cloud Pub/Sub Integration
  4247  type CloudGcpPubsubIntegration struct {
  4248  	// The object creation date, in epoch (Unix) time
  4249  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4250  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4251  	FetchTags bool `json:"fetchTags,omitempty"`
  4252  	// The cloud service integration identifier.
  4253  	ID int `json:"id,omitempty"`
  4254  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4255  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4256  	// The parent linked account identifier.
  4257  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4258  	// The data polling interval in seconds.
  4259  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4260  	// The cloud service integration name.
  4261  	Name string `json:"name,omitempty"`
  4262  	// The parent NewRelic account identifier.
  4263  	NrAccountId int `json:"nrAccountId"`
  4264  	// The cloud service used in the integration.
  4265  	Service CloudService `json:"service,omitempty"`
  4266  	// The object last update date, in epoch (Unix) time
  4267  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4268  }
  4269  
  4270  func (x *CloudGcpPubsubIntegration) ImplementsCloudIntegration() {}
  4271  
  4272  // CloudGcpPubsubIntegrationInput - Cloud Pub/Sub
  4273  type CloudGcpPubsubIntegrationInput struct {
  4274  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4275  	FetchTags bool `json:"fetchTags,omitempty"`
  4276  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4277  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4278  	// The linked account identifier.
  4279  	LinkedAccountId int `json:"linkedAccountId"`
  4280  	// The data polling interval in seconds.
  4281  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4282  }
  4283  
  4284  // CloudGcpRedisIntegration - Redis Integration
  4285  type CloudGcpRedisIntegration struct {
  4286  	// The object creation date, in epoch (Unix) time
  4287  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4288  	// The cloud service integration identifier.
  4289  	ID int `json:"id,omitempty"`
  4290  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4291  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4292  	// The parent linked account identifier.
  4293  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4294  	// The data polling interval in seconds.
  4295  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4296  	// The cloud service integration name.
  4297  	Name string `json:"name,omitempty"`
  4298  	// The parent NewRelic account identifier.
  4299  	NrAccountId int `json:"nrAccountId"`
  4300  	// The cloud service used in the integration.
  4301  	Service CloudService `json:"service,omitempty"`
  4302  	// The object last update date, in epoch (Unix) time
  4303  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4304  }
  4305  
  4306  func (x *CloudGcpRedisIntegration) ImplementsCloudIntegration() {}
  4307  
  4308  // CloudGcpRedisIntegrationInput - Redis
  4309  type CloudGcpRedisIntegrationInput struct {
  4310  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4311  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4312  	// The linked account identifier.
  4313  	LinkedAccountId int `json:"linkedAccountId"`
  4314  	// The data polling interval in seconds.
  4315  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4316  }
  4317  
  4318  // CloudGcpRouterIntegration - Router Integration
  4319  type CloudGcpRouterIntegration struct {
  4320  	// The object creation date, in epoch (Unix) time
  4321  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4322  	// The cloud service integration identifier.
  4323  	ID int `json:"id,omitempty"`
  4324  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4325  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4326  	// The parent linked account identifier.
  4327  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4328  	// The data polling interval in seconds.
  4329  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4330  	// The cloud service integration name.
  4331  	Name string `json:"name,omitempty"`
  4332  	// The parent NewRelic account identifier.
  4333  	NrAccountId int `json:"nrAccountId"`
  4334  	// The cloud service used in the integration.
  4335  	Service CloudService `json:"service,omitempty"`
  4336  	// The object last update date, in epoch (Unix) time
  4337  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4338  }
  4339  
  4340  func (x *CloudGcpRouterIntegration) ImplementsCloudIntegration() {}
  4341  
  4342  // CloudGcpRouterIntegrationInput - Router
  4343  type CloudGcpRouterIntegrationInput struct {
  4344  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4345  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4346  	// The linked account identifier.
  4347  	LinkedAccountId int `json:"linkedAccountId"`
  4348  	// The data polling interval in seconds.
  4349  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4350  }
  4351  
  4352  // CloudGcpRunIntegration - Run Integration
  4353  type CloudGcpRunIntegration struct {
  4354  	// The object creation date, in epoch (Unix) time
  4355  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4356  	// The cloud service integration identifier.
  4357  	ID int `json:"id,omitempty"`
  4358  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4359  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4360  	// The parent linked account identifier.
  4361  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4362  	// The data polling interval in seconds.
  4363  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4364  	// The cloud service integration name.
  4365  	Name string `json:"name,omitempty"`
  4366  	// The parent NewRelic account identifier.
  4367  	NrAccountId int `json:"nrAccountId"`
  4368  	// The cloud service used in the integration.
  4369  	Service CloudService `json:"service,omitempty"`
  4370  	// The object last update date, in epoch (Unix) time
  4371  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4372  }
  4373  
  4374  func (x *CloudGcpRunIntegration) ImplementsCloudIntegration() {}
  4375  
  4376  // CloudGcpRunIntegrationInput - Run
  4377  type CloudGcpRunIntegrationInput struct {
  4378  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4379  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4380  	// The linked account identifier.
  4381  	LinkedAccountId int `json:"linkedAccountId"`
  4382  	// The data polling interval in seconds.
  4383  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4384  }
  4385  
  4386  // CloudGcpSpannerIntegration - Cloud Spanner Integration
  4387  type CloudGcpSpannerIntegration struct {
  4388  	// The object creation date, in epoch (Unix) time
  4389  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4390  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4391  	FetchTags bool `json:"fetchTags,omitempty"`
  4392  	// The cloud service integration identifier.
  4393  	ID int `json:"id,omitempty"`
  4394  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4395  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4396  	// The parent linked account identifier.
  4397  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4398  	// The data polling interval in seconds.
  4399  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4400  	// The cloud service integration name.
  4401  	Name string `json:"name,omitempty"`
  4402  	// The parent NewRelic account identifier.
  4403  	NrAccountId int `json:"nrAccountId"`
  4404  	// The cloud service used in the integration.
  4405  	Service CloudService `json:"service,omitempty"`
  4406  	// The object last update date, in epoch (Unix) time
  4407  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4408  }
  4409  
  4410  func (x *CloudGcpSpannerIntegration) ImplementsCloudIntegration() {}
  4411  
  4412  // CloudGcpSpannerIntegrationInput - Cloud Spanner
  4413  type CloudGcpSpannerIntegrationInput struct {
  4414  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4415  	FetchTags bool `json:"fetchTags,omitempty"`
  4416  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4417  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4418  	// The linked account identifier.
  4419  	LinkedAccountId int `json:"linkedAccountId"`
  4420  	// The data polling interval in seconds.
  4421  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4422  }
  4423  
  4424  // CloudGcpSqlIntegration - Cloud SQL Integration
  4425  type CloudGcpSqlIntegration struct {
  4426  	// The object creation date, in epoch (Unix) time
  4427  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4428  	// The cloud service integration identifier.
  4429  	ID int `json:"id,omitempty"`
  4430  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4431  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4432  	// The parent linked account identifier.
  4433  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4434  	// The data polling interval in seconds.
  4435  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4436  	// The cloud service integration name.
  4437  	Name string `json:"name,omitempty"`
  4438  	// The parent NewRelic account identifier.
  4439  	NrAccountId int `json:"nrAccountId"`
  4440  	// The cloud service used in the integration.
  4441  	Service CloudService `json:"service,omitempty"`
  4442  	// The object last update date, in epoch (Unix) time
  4443  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4444  }
  4445  
  4446  func (x *CloudGcpSqlIntegration) ImplementsCloudIntegration() {}
  4447  
  4448  // CloudGcpSqlIntegrationInput - Google Cloud SQL
  4449  type CloudGcpSqlIntegrationInput struct {
  4450  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4451  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4452  	// The linked account identifier.
  4453  	LinkedAccountId int `json:"linkedAccountId"`
  4454  	// The data polling interval in seconds.
  4455  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4456  }
  4457  
  4458  // CloudGcpStorageIntegration - Cloud Storage Integration
  4459  type CloudGcpStorageIntegration struct {
  4460  	// The object creation date, in epoch (Unix) time
  4461  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4462  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4463  	FetchTags bool `json:"fetchTags,omitempty"`
  4464  	// The cloud service integration identifier.
  4465  	ID int `json:"id,omitempty"`
  4466  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4467  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4468  	// The parent linked account identifier.
  4469  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4470  	// The data polling interval in seconds.
  4471  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4472  	// The cloud service integration name.
  4473  	Name string `json:"name,omitempty"`
  4474  	// The parent NewRelic account identifier.
  4475  	NrAccountId int `json:"nrAccountId"`
  4476  	// The cloud service used in the integration.
  4477  	Service CloudService `json:"service,omitempty"`
  4478  	// The object last update date, in epoch (Unix) time
  4479  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4480  }
  4481  
  4482  func (x *CloudGcpStorageIntegration) ImplementsCloudIntegration() {}
  4483  
  4484  // CloudGcpStorageIntegrationInput - Google Cloud Storage
  4485  type CloudGcpStorageIntegrationInput struct {
  4486  	// Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4487  	FetchTags bool `json:"fetchTags,omitempty"`
  4488  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4489  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4490  	// The linked account identifier.
  4491  	LinkedAccountId int `json:"linkedAccountId"`
  4492  	// The data polling interval in seconds.
  4493  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4494  }
  4495  
  4496  // CloudGcpVmsIntegration - Compute Engine Integration
  4497  type CloudGcpVmsIntegration struct {
  4498  	// The object creation date, in epoch (Unix) time
  4499  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4500  	// The cloud service integration identifier.
  4501  	ID int `json:"id,omitempty"`
  4502  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4503  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4504  	// The parent linked account identifier.
  4505  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4506  	// The data polling interval in seconds.
  4507  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4508  	// The cloud service integration name.
  4509  	Name string `json:"name,omitempty"`
  4510  	// The parent NewRelic account identifier.
  4511  	NrAccountId int `json:"nrAccountId"`
  4512  	// The cloud service used in the integration.
  4513  	Service CloudService `json:"service,omitempty"`
  4514  	// The object last update date, in epoch (Unix) time
  4515  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4516  }
  4517  
  4518  func (x *CloudGcpVmsIntegration) ImplementsCloudIntegration() {}
  4519  
  4520  // CloudGcpVmsIntegrationInput - Google Compute Engine
  4521  type CloudGcpVmsIntegrationInput struct {
  4522  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4523  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4524  	// The linked account identifier.
  4525  	LinkedAccountId int `json:"linkedAccountId"`
  4526  	// The data polling interval in seconds.
  4527  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4528  }
  4529  
  4530  // CloudGcpVpcaccessIntegration - VPC Access Integration
  4531  type CloudGcpVpcaccessIntegration struct {
  4532  	// The object creation date, in epoch (Unix) time
  4533  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4534  	// The cloud service integration identifier.
  4535  	ID int `json:"id,omitempty"`
  4536  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4537  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4538  	// The parent linked account identifier.
  4539  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4540  	// The data polling interval in seconds.
  4541  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4542  	// The cloud service integration name.
  4543  	Name string `json:"name,omitempty"`
  4544  	// The parent NewRelic account identifier.
  4545  	NrAccountId int `json:"nrAccountId"`
  4546  	// The cloud service used in the integration.
  4547  	Service CloudService `json:"service,omitempty"`
  4548  	// The object last update date, in epoch (Unix) time
  4549  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4550  }
  4551  
  4552  func (x *CloudGcpVpcaccessIntegration) ImplementsCloudIntegration() {}
  4553  
  4554  // CloudGcpVpcaccessIntegrationInput - VPC Access
  4555  type CloudGcpVpcaccessIntegrationInput struct {
  4556  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4557  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4558  	// The linked account identifier.
  4559  	LinkedAccountId int `json:"linkedAccountId"`
  4560  	// The data polling interval in seconds.
  4561  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4562  }
  4563  
  4564  // CloudHealthIntegration - Health Integration
  4565  type CloudHealthIntegration struct {
  4566  	// The object creation date, in epoch (Unix) time
  4567  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4568  	// The cloud service integration identifier.
  4569  	ID int `json:"id,omitempty"`
  4570  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4571  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4572  	// The parent linked account identifier.
  4573  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4574  	// The data polling interval in seconds.
  4575  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4576  	// The cloud service integration name.
  4577  	Name string `json:"name,omitempty"`
  4578  	// The parent NewRelic account identifier.
  4579  	NrAccountId int `json:"nrAccountId"`
  4580  	// The cloud service used in the integration.
  4581  	Service CloudService `json:"service,omitempty"`
  4582  	// The object last update date, in epoch (Unix) time
  4583  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4584  }
  4585  
  4586  func (x *CloudHealthIntegration) ImplementsCloudIntegration() {}
  4587  
  4588  // CloudHealthIntegrationInput - AWS Health
  4589  type CloudHealthIntegrationInput struct {
  4590  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4591  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4592  	// The linked account identifier.
  4593  	LinkedAccountId int `json:"linkedAccountId"`
  4594  	// The data polling interval in seconds.
  4595  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4596  }
  4597  
  4598  // CloudIamIntegration - IAM Integration
  4599  type CloudIamIntegration struct {
  4600  	// The object creation date, in epoch (Unix) time
  4601  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4602  	// The cloud service integration identifier.
  4603  	ID int `json:"id,omitempty"`
  4604  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4605  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4606  	// The parent linked account identifier.
  4607  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4608  	// The data polling interval in seconds.
  4609  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4610  	// The cloud service integration name.
  4611  	Name string `json:"name,omitempty"`
  4612  	// The parent NewRelic account identifier.
  4613  	NrAccountId int `json:"nrAccountId"`
  4614  	// The cloud service used in the integration.
  4615  	Service CloudService `json:"service,omitempty"`
  4616  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4617  	TagKey string `json:"tagKey,omitempty"`
  4618  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4619  	TagValue string `json:"tagValue,omitempty"`
  4620  	// The object last update date, in epoch (Unix) time
  4621  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4622  }
  4623  
  4624  func (x *CloudIamIntegration) ImplementsCloudIntegration() {}
  4625  
  4626  // CloudIamIntegrationInput - AWS Identity and Access Management (IAM)
  4627  type CloudIamIntegrationInput struct {
  4628  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4629  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4630  	// The linked account identifier.
  4631  	LinkedAccountId int `json:"linkedAccountId"`
  4632  	// The data polling interval in seconds.
  4633  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4634  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4635  	TagKey string `json:"tagKey,omitempty"`
  4636  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4637  	TagValue string `json:"tagValue,omitempty"`
  4638  }
  4639  
  4640  // CloudIntegration - The configuration of a cloud service integration for a linked account.
  4641  type CloudIntegration struct {
  4642  	// The object creation date, in epoch (Unix) time
  4643  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4644  	// The cloud service integration identifier.
  4645  	ID int `json:"id,omitempty"`
  4646  	// The parent linked account identifier.
  4647  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4648  	// The cloud service integration name.
  4649  	Name string `json:"name,omitempty"`
  4650  	// The parent NewRelic account identifier.
  4651  	NrAccountId int `json:"nrAccountId"`
  4652  	// The cloud service used in the integration.
  4653  	Service CloudService `json:"service,omitempty"`
  4654  	// The object last update date, in epoch (Unix) time
  4655  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4656  }
  4657  
  4658  func (x *CloudIntegration) ImplementsCloudIntegration() {}
  4659  
  4660  // CloudIntegrationMutationError - Integration Mutation Error
  4661  type CloudIntegrationMutationError struct {
  4662  	// The passed integration slug.
  4663  	IntegrationSlug string `json:"integrationSlug,omitempty"`
  4664  	// The passed linked account identifier.
  4665  	LinkedAccountId int `json:"linkedAccountId,omitempty"`
  4666  	// The error message.
  4667  	Message string `json:"message"`
  4668  	// The passed newrelic account identifier.
  4669  	NrAccountId int `json:"nrAccountId"`
  4670  	// The error status.
  4671  	Type string `json:"type"`
  4672  }
  4673  
  4674  // CloudIntegrationsInput - List of providers
  4675  type CloudIntegrationsInput struct {
  4676  	// Aws provider
  4677  	Aws CloudAwsIntegrationsInput `json:"aws,omitempty"`
  4678  	// AwsGovcloud provider
  4679  	AwsGovcloud CloudAwsGovcloudIntegrationsInput `json:"awsGovcloud,omitempty"`
  4680  	// Azure provider
  4681  	Azure CloudAzureIntegrationsInput `json:"azure,omitempty"`
  4682  	// Gcp provider
  4683  	Gcp CloudGcpIntegrationsInput `json:"gcp,omitempty"`
  4684  }
  4685  
  4686  // CloudIotIntegration - IoT Integration
  4687  type CloudIotIntegration struct {
  4688  	// Specify each AWS region that includes the resources that you want to monitor.
  4689  	AwsRegions []string `json:"awsRegions,omitempty"`
  4690  	// The object creation date, in epoch (Unix) time
  4691  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4692  	// The cloud service integration identifier.
  4693  	ID int `json:"id,omitempty"`
  4694  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4695  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4696  	// The parent linked account identifier.
  4697  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4698  	// The data polling interval in seconds.
  4699  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4700  	// The cloud service integration name.
  4701  	Name string `json:"name,omitempty"`
  4702  	// The parent NewRelic account identifier.
  4703  	NrAccountId int `json:"nrAccountId"`
  4704  	// The cloud service used in the integration.
  4705  	Service CloudService `json:"service,omitempty"`
  4706  	// The object last update date, in epoch (Unix) time
  4707  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4708  }
  4709  
  4710  func (x *CloudIotIntegration) ImplementsCloudIntegration() {}
  4711  
  4712  // CloudIotIntegrationInput - AWS IoT
  4713  type CloudIotIntegrationInput struct {
  4714  	// Specify each AWS region that includes the resources that you want to monitor.
  4715  	AwsRegions []string `json:"awsRegions,omitempty"`
  4716  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4717  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4718  	// The linked account identifier.
  4719  	LinkedAccountId int `json:"linkedAccountId"`
  4720  	// The data polling interval in seconds.
  4721  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4722  }
  4723  
  4724  // CloudKinesisFirehoseIntegration - Kinesis Firehose Integration
  4725  type CloudKinesisFirehoseIntegration struct {
  4726  	// Specify each AWS region that includes the resources that you want to monitor.
  4727  	AwsRegions []string `json:"awsRegions,omitempty"`
  4728  	// The object creation date, in epoch (Unix) time
  4729  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4730  	// The cloud service integration identifier.
  4731  	ID int `json:"id,omitempty"`
  4732  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4733  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4734  	// The parent linked account identifier.
  4735  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4736  	// The data polling interval in seconds.
  4737  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4738  	// The cloud service integration name.
  4739  	Name string `json:"name,omitempty"`
  4740  	// The parent NewRelic account identifier.
  4741  	NrAccountId int `json:"nrAccountId"`
  4742  	// The cloud service used in the integration.
  4743  	Service CloudService `json:"service,omitempty"`
  4744  	// The object last update date, in epoch (Unix) time
  4745  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4746  }
  4747  
  4748  func (x *CloudKinesisFirehoseIntegration) ImplementsCloudIntegration() {}
  4749  
  4750  // CloudKinesisFirehoseIntegrationInput - Amazon Kinesis Data Firehose
  4751  type CloudKinesisFirehoseIntegrationInput struct {
  4752  	// Specify each AWS region that includes the resources that you want to monitor.
  4753  	AwsRegions []string `json:"awsRegions,omitempty"`
  4754  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4755  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4756  	// The linked account identifier.
  4757  	LinkedAccountId int `json:"linkedAccountId"`
  4758  	// The data polling interval in seconds.
  4759  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4760  }
  4761  
  4762  // CloudKinesisIntegration - Kinesis Streams Integration
  4763  type CloudKinesisIntegration struct {
  4764  	// Specify each AWS region that includes the resources that you want to monitor.
  4765  	AwsRegions []string `json:"awsRegions,omitempty"`
  4766  	// The object creation date, in epoch (Unix) time
  4767  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4768  	// Specify if Shards should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4769  	FetchShards bool `json:"fetchShards,omitempty"`
  4770  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4771  	FetchTags bool `json:"fetchTags,omitempty"`
  4772  	// The cloud service integration identifier.
  4773  	ID int `json:"id,omitempty"`
  4774  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4775  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4776  	// The parent linked account identifier.
  4777  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4778  	// The data polling interval in seconds.
  4779  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4780  	// The cloud service integration name.
  4781  	Name string `json:"name,omitempty"`
  4782  	// The parent NewRelic account identifier.
  4783  	NrAccountId int `json:"nrAccountId"`
  4784  	// The cloud service used in the integration.
  4785  	Service CloudService `json:"service,omitempty"`
  4786  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4787  	TagKey string `json:"tagKey,omitempty"`
  4788  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4789  	TagValue string `json:"tagValue,omitempty"`
  4790  	// The object last update date, in epoch (Unix) time
  4791  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4792  }
  4793  
  4794  func (x *CloudKinesisIntegration) ImplementsCloudIntegration() {}
  4795  
  4796  // CloudKinesisIntegrationInput - Amazon Kinesis Data Streams
  4797  type CloudKinesisIntegrationInput struct {
  4798  	// Specify each AWS region that includes the resources that you want to monitor.
  4799  	AwsRegions []string `json:"awsRegions,omitempty"`
  4800  	// Specify if Shards should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4801  	FetchShards bool `json:"fetchShards,omitempty"`
  4802  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4803  	FetchTags bool `json:"fetchTags,omitempty"`
  4804  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4805  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4806  	// The linked account identifier.
  4807  	LinkedAccountId int `json:"linkedAccountId"`
  4808  	// The data polling interval in seconds.
  4809  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4810  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4811  	TagKey string `json:"tagKey,omitempty"`
  4812  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4813  	TagValue string `json:"tagValue,omitempty"`
  4814  }
  4815  
  4816  // CloudLambdaIntegration - Lambda Integration
  4817  type CloudLambdaIntegration struct {
  4818  	// Specify each AWS region that includes the resources that you want to monitor.
  4819  	AwsRegions []string `json:"awsRegions,omitempty"`
  4820  	// The object creation date, in epoch (Unix) time
  4821  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4822  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4823  	FetchTags bool `json:"fetchTags,omitempty"`
  4824  	// The cloud service integration identifier.
  4825  	ID int `json:"id,omitempty"`
  4826  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4827  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4828  	// The parent linked account identifier.
  4829  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  4830  	// The data polling interval in seconds.
  4831  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4832  	// The cloud service integration name.
  4833  	Name string `json:"name,omitempty"`
  4834  	// The parent NewRelic account identifier.
  4835  	NrAccountId int `json:"nrAccountId"`
  4836  	// The cloud service used in the integration.
  4837  	Service CloudService `json:"service,omitempty"`
  4838  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4839  	TagKey string `json:"tagKey,omitempty"`
  4840  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4841  	TagValue string `json:"tagValue,omitempty"`
  4842  	// The object last update date, in epoch (Unix) time
  4843  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4844  }
  4845  
  4846  func (x *CloudLambdaIntegration) ImplementsCloudIntegration() {}
  4847  
  4848  // CloudLambdaIntegrationInput - AWS Lambda
  4849  type CloudLambdaIntegrationInput struct {
  4850  	// Specify each AWS region that includes the resources that you want to monitor.
  4851  	AwsRegions []string `json:"awsRegions,omitempty"`
  4852  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  4853  	FetchTags bool `json:"fetchTags,omitempty"`
  4854  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  4855  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  4856  	// The linked account identifier.
  4857  	LinkedAccountId int `json:"linkedAccountId"`
  4858  	// The data polling interval in seconds.
  4859  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  4860  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  4861  	TagKey string `json:"tagKey,omitempty"`
  4862  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  4863  	TagValue string `json:"tagValue,omitempty"`
  4864  }
  4865  
  4866  // CloudLinkAccountPayload - Autogenerated return type of LinkAccount
  4867  type CloudLinkAccountPayload struct {
  4868  	// The list of errors.
  4869  	Errors []CloudAccountMutationError `json:"errors"`
  4870  	// The created Linked accounts.
  4871  	LinkedAccounts []CloudLinkedAccount `json:"linkedAccounts"`
  4872  }
  4873  
  4874  // CloudLinkCloudAccountsInput - Specific Cloud provider information required to link the Cloud provider account to a NewRelic account.
  4875  type CloudLinkCloudAccountsInput struct {
  4876  	// Aws provider
  4877  	Aws []CloudAwsLinkAccountInput `json:"aws,omitempty"`
  4878  	// AwsGovcloud provider
  4879  	AwsGovcloud []CloudAwsGovcloudLinkAccountInput `json:"awsGovcloud,omitempty"`
  4880  	// Azure provider
  4881  	Azure []CloudAzureLinkAccountInput `json:"azure,omitempty"`
  4882  	// Gcp provider
  4883  	Gcp []CloudGcpLinkAccountInput `json:"gcp,omitempty"`
  4884  }
  4885  
  4886  // CloudLinkedAccount - A cloud account linked to a NewRelic account.
  4887  type CloudLinkedAccount struct {
  4888  	// The credential. This is a Role ARN for AWS, an application ID for Azure and a service account ID or user account email for GCP.
  4889  	AuthLabel string `json:"authLabel"`
  4890  	// The object creation date, in epoch (Unix) time
  4891  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  4892  	// Indicates whether the account disabled.
  4893  	Disabled bool `json:"disabled,omitempty"`
  4894  	// The cloud account identifier. This is the Account ID in AWS, the Subscription ID in Azure and the Project ID in GCP.
  4895  	ExternalId string `json:"externalId,omitempty"`
  4896  	// The linked account identifier in NewRelic.
  4897  	ID int `json:"id"`
  4898  	// Get details of one cloud service integration.
  4899  	Integration CloudIntegrationInterface `json:"integration"`
  4900  	// Get details of all cloud service integrations.
  4901  	Integrations []CloudIntegrationInterface `json:"integrations"`
  4902  	// Indicate how the metrics will be collected (PUSH/PULL)
  4903  	MetricCollectionMode CloudMetricCollectionMode `json:"metricCollectionMode"`
  4904  	// The linked account name in NewRelic.
  4905  	Name string `json:"name"`
  4906  	// The New Relic account identifier.
  4907  	NrAccountId int `json:"nrAccountId"`
  4908  	// The cloud provider.
  4909  	Provider CloudProviderInterface `json:"provider"`
  4910  	// The object last update date, in epoch (Unix) time
  4911  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  4912  }
  4913  
  4914  // special
  4915  func (x *CloudLinkedAccount) UnmarshalJSON(b []byte) error {
  4916  	var objMap map[string]*json.RawMessage
  4917  	err := json.Unmarshal(b, &objMap)
  4918  	if err != nil {
  4919  		return err
  4920  	}
  4921  
  4922  	for k, v := range objMap {
  4923  		if v == nil {
  4924  			continue
  4925  		}
  4926  
  4927  		switch k {
  4928  		case "authLabel":
  4929  			err = json.Unmarshal(*v, &x.AuthLabel)
  4930  			if err != nil {
  4931  				return err
  4932  			}
  4933  		case "createdAt":
  4934  			err = json.Unmarshal(*v, &x.CreatedAt)
  4935  			if err != nil {
  4936  				return err
  4937  			}
  4938  		case "disabled":
  4939  			err = json.Unmarshal(*v, &x.Disabled)
  4940  			if err != nil {
  4941  				return err
  4942  			}
  4943  		case "externalId":
  4944  			err = json.Unmarshal(*v, &x.ExternalId)
  4945  			if err != nil {
  4946  				return err
  4947  			}
  4948  		case "id":
  4949  			err = json.Unmarshal(*v, &x.ID)
  4950  			if err != nil {
  4951  				return err
  4952  			}
  4953  		case "integration":
  4954  			if v == nil {
  4955  				continue
  4956  			}
  4957  			xxx, err := UnmarshalCloudIntegrationInterface(*v)
  4958  			if err != nil {
  4959  				return err
  4960  			}
  4961  
  4962  			if xxx != nil {
  4963  				x.Integration = *xxx
  4964  			}
  4965  		case "integrations":
  4966  			if v == nil {
  4967  				continue
  4968  			}
  4969  			var rawMessageIntegrations []*json.RawMessage
  4970  			err = json.Unmarshal(*v, &rawMessageIntegrations)
  4971  			if err != nil {
  4972  				return err
  4973  			}
  4974  
  4975  			for _, m := range rawMessageIntegrations {
  4976  				xxx, err := UnmarshalCloudIntegrationInterface(*m)
  4977  				if err != nil {
  4978  					return err
  4979  				}
  4980  
  4981  				if xxx != nil {
  4982  					x.Integrations = append(x.Integrations, *xxx)
  4983  				}
  4984  			}
  4985  		case "metricCollectionMode":
  4986  			err = json.Unmarshal(*v, &x.MetricCollectionMode)
  4987  			if err != nil {
  4988  				return err
  4989  			}
  4990  		case "name":
  4991  			err = json.Unmarshal(*v, &x.Name)
  4992  			if err != nil {
  4993  				return err
  4994  			}
  4995  		case "nrAccountId":
  4996  			err = json.Unmarshal(*v, &x.NrAccountId)
  4997  			if err != nil {
  4998  				return err
  4999  			}
  5000  		case "provider":
  5001  			if v == nil {
  5002  				continue
  5003  			}
  5004  			xxx, err := UnmarshalCloudProviderInterface(*v)
  5005  			if err != nil {
  5006  				return err
  5007  			}
  5008  
  5009  			if xxx != nil {
  5010  				x.Provider = *xxx
  5011  			}
  5012  		case "updatedAt":
  5013  			err = json.Unmarshal(*v, &x.UpdatedAt)
  5014  			if err != nil {
  5015  				return err
  5016  			}
  5017  		}
  5018  	}
  5019  
  5020  	return nil
  5021  }
  5022  
  5023  // CloudProvider - A cloud services provider.
  5024  type CloudProvider struct {
  5025  	// The object creation date, in epoch (Unix) time
  5026  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5027  	// The cloud provider identifier in NewRelic.
  5028  	ID int `json:"id"`
  5029  	// The cloud provider icon name.
  5030  	Icon string `json:"icon"`
  5031  	// The cloud provider name.
  5032  	Name string `json:"name"`
  5033  	// Get details of one cloud provider service.
  5034  	Service CloudService `json:"service,omitempty"`
  5035  	// Get details of all the cloud provider services available for integration.
  5036  	Services []CloudService `json:"services"`
  5037  	// The cloud provider short name.
  5038  	Slug string `json:"slug"`
  5039  	// The object last update date, in epoch (Unix) time
  5040  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5041  }
  5042  
  5043  func (x *CloudProvider) ImplementsCloudProvider() {}
  5044  
  5045  // CloudRdsIntegration - RDS Integration
  5046  type CloudRdsIntegration struct {
  5047  	// Specify each AWS region that includes the resources that you want to monitor.
  5048  	AwsRegions []string `json:"awsRegions,omitempty"`
  5049  	// The object creation date, in epoch (Unix) time
  5050  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5051  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5052  	FetchTags bool `json:"fetchTags,omitempty"`
  5053  	// The cloud service integration identifier.
  5054  	ID int `json:"id,omitempty"`
  5055  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5056  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5057  	// The parent linked account identifier.
  5058  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5059  	// The data polling interval in seconds.
  5060  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5061  	// The cloud service integration name.
  5062  	Name string `json:"name,omitempty"`
  5063  	// The parent NewRelic account identifier.
  5064  	NrAccountId int `json:"nrAccountId"`
  5065  	// The cloud service used in the integration.
  5066  	Service CloudService `json:"service,omitempty"`
  5067  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5068  	TagKey string `json:"tagKey,omitempty"`
  5069  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5070  	TagValue string `json:"tagValue,omitempty"`
  5071  	// The object last update date, in epoch (Unix) time
  5072  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5073  }
  5074  
  5075  func (x *CloudRdsIntegration) ImplementsCloudIntegration() {}
  5076  
  5077  // CloudRdsIntegrationInput - Amazon Relation Database Service (RDS)
  5078  type CloudRdsIntegrationInput struct {
  5079  	// Specify each AWS region that includes the resources that you want to monitor.
  5080  	AwsRegions []string `json:"awsRegions,omitempty"`
  5081  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5082  	FetchTags bool `json:"fetchTags,omitempty"`
  5083  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5084  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5085  	// The linked account identifier.
  5086  	LinkedAccountId int `json:"linkedAccountId"`
  5087  	// The data polling interval in seconds.
  5088  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5089  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5090  	TagKey string `json:"tagKey,omitempty"`
  5091  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5092  	TagValue string `json:"tagValue,omitempty"`
  5093  }
  5094  
  5095  // CloudRedshiftIntegration - Redshift Integration
  5096  type CloudRedshiftIntegration struct {
  5097  	// Specify each AWS region that includes the resources that you want to monitor.
  5098  	AwsRegions []string `json:"awsRegions,omitempty"`
  5099  	// The object creation date, in epoch (Unix) time
  5100  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5101  	// The cloud service integration identifier.
  5102  	ID int `json:"id,omitempty"`
  5103  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5104  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5105  	// The parent linked account identifier.
  5106  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5107  	// The data polling interval in seconds.
  5108  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5109  	// The cloud service integration name.
  5110  	Name string `json:"name,omitempty"`
  5111  	// The parent NewRelic account identifier.
  5112  	NrAccountId int `json:"nrAccountId"`
  5113  	// The cloud service used in the integration.
  5114  	Service CloudService `json:"service,omitempty"`
  5115  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5116  	TagKey string `json:"tagKey,omitempty"`
  5117  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5118  	TagValue string `json:"tagValue,omitempty"`
  5119  	// The object last update date, in epoch (Unix) time
  5120  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5121  }
  5122  
  5123  func (x *CloudRedshiftIntegration) ImplementsCloudIntegration() {}
  5124  
  5125  // CloudRedshiftIntegrationInput - Amazon Redshift
  5126  type CloudRedshiftIntegrationInput struct {
  5127  	// Specify each AWS region that includes the resources that you want to monitor.
  5128  	AwsRegions []string `json:"awsRegions,omitempty"`
  5129  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5130  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5131  	// The linked account identifier.
  5132  	LinkedAccountId int `json:"linkedAccountId"`
  5133  	// The data polling interval in seconds.
  5134  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5135  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5136  	TagKey string `json:"tagKey,omitempty"`
  5137  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5138  	TagValue string `json:"tagValue,omitempty"`
  5139  }
  5140  
  5141  // CloudRenameAccountPayload - Autogenerated return type of RenameAccount
  5142  type CloudRenameAccountPayload struct {
  5143  	// The list of errors.
  5144  	Errors []CloudAccountMutationError `json:"errors"`
  5145  	// The updated linked accounts.
  5146  	LinkedAccounts []CloudLinkedAccount `json:"linkedAccounts"`
  5147  }
  5148  
  5149  // CloudRenameAccountsInput - Information required when operating on a Linked Account.
  5150  type CloudRenameAccountsInput struct {
  5151  	// The linked account identifier.
  5152  	LinkedAccountId int `json:"linkedAccountId"`
  5153  	// The linked account new name.
  5154  	Name string `json:"name"`
  5155  }
  5156  
  5157  // CloudRoute53Integration - Route 53 Integration
  5158  type CloudRoute53Integration struct {
  5159  	// The object creation date, in epoch (Unix) time
  5160  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5161  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5162  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5163  	// The cloud service integration identifier.
  5164  	ID int `json:"id,omitempty"`
  5165  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5166  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5167  	// The parent linked account identifier.
  5168  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5169  	// The data polling interval in seconds.
  5170  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5171  	// The cloud service integration name.
  5172  	Name string `json:"name,omitempty"`
  5173  	// The parent NewRelic account identifier.
  5174  	NrAccountId int `json:"nrAccountId"`
  5175  	// The cloud service used in the integration.
  5176  	Service CloudService `json:"service,omitempty"`
  5177  	// The object last update date, in epoch (Unix) time
  5178  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5179  }
  5180  
  5181  func (x *CloudRoute53Integration) ImplementsCloudIntegration() {}
  5182  
  5183  // CloudRoute53IntegrationInput - Amazon Route 53
  5184  type CloudRoute53IntegrationInput struct {
  5185  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5186  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5187  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5188  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5189  	// The linked account identifier.
  5190  	LinkedAccountId int `json:"linkedAccountId"`
  5191  	// The data polling interval in seconds.
  5192  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5193  }
  5194  
  5195  // CloudS3Integration - S3 Integration
  5196  type CloudS3Integration struct {
  5197  	// The object creation date, in epoch (Unix) time
  5198  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5199  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5200  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5201  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5202  	FetchTags bool `json:"fetchTags,omitempty"`
  5203  	// The cloud service integration identifier.
  5204  	ID int `json:"id,omitempty"`
  5205  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5206  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5207  	// The parent linked account identifier.
  5208  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5209  	// The data polling interval in seconds.
  5210  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5211  	// The cloud service integration name.
  5212  	Name string `json:"name,omitempty"`
  5213  	// The parent NewRelic account identifier.
  5214  	NrAccountId int `json:"nrAccountId"`
  5215  	// The cloud service used in the integration.
  5216  	Service CloudService `json:"service,omitempty"`
  5217  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5218  	TagKey string `json:"tagKey,omitempty"`
  5219  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5220  	TagValue string `json:"tagValue,omitempty"`
  5221  	// The object last update date, in epoch (Unix) time
  5222  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5223  }
  5224  
  5225  func (x *CloudS3Integration) ImplementsCloudIntegration() {}
  5226  
  5227  // CloudS3IntegrationInput - Amazon Simple Storage Service (S3)
  5228  type CloudS3IntegrationInput struct {
  5229  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5230  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5231  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5232  	FetchTags bool `json:"fetchTags,omitempty"`
  5233  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5234  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5235  	// The linked account identifier.
  5236  	LinkedAccountId int `json:"linkedAccountId"`
  5237  	// The data polling interval in seconds.
  5238  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5239  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5240  	TagKey string `json:"tagKey,omitempty"`
  5241  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5242  	TagValue string `json:"tagValue,omitempty"`
  5243  }
  5244  
  5245  // CloudService - A Cloud Provider service available for monitoring.
  5246  type CloudService struct {
  5247  	// The object creation date, in epoch (Unix) time
  5248  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5249  	// The cloud service identifier in NewRelic.
  5250  	ID int `json:"id"`
  5251  	// The cloud service icon name.
  5252  	Icon string `json:"icon"`
  5253  	// Shows if the cloud service is enabled for integrating.
  5254  	IsEnabled bool `json:"isEnabled"`
  5255  	// The cloud service name.
  5256  	Name string `json:"name"`
  5257  	// The cloud provider.
  5258  	Provider CloudProviderInterface `json:"provider"`
  5259  	// The cloud service unique short name.
  5260  	Slug string `json:"slug"`
  5261  	// The object last update date, in epoch (Unix) time
  5262  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5263  }
  5264  
  5265  // special
  5266  func (x *CloudService) UnmarshalJSON(b []byte) error {
  5267  	var objMap map[string]*json.RawMessage
  5268  	err := json.Unmarshal(b, &objMap)
  5269  	if err != nil {
  5270  		return err
  5271  	}
  5272  
  5273  	for k, v := range objMap {
  5274  		if v == nil {
  5275  			continue
  5276  		}
  5277  
  5278  		switch k {
  5279  		case "createdAt":
  5280  			err = json.Unmarshal(*v, &x.CreatedAt)
  5281  			if err != nil {
  5282  				return err
  5283  			}
  5284  		case "id":
  5285  			err = json.Unmarshal(*v, &x.ID)
  5286  			if err != nil {
  5287  				return err
  5288  			}
  5289  		case "icon":
  5290  			err = json.Unmarshal(*v, &x.Icon)
  5291  			if err != nil {
  5292  				return err
  5293  			}
  5294  		case "isEnabled":
  5295  			err = json.Unmarshal(*v, &x.IsEnabled)
  5296  			if err != nil {
  5297  				return err
  5298  			}
  5299  		case "name":
  5300  			err = json.Unmarshal(*v, &x.Name)
  5301  			if err != nil {
  5302  				return err
  5303  			}
  5304  		case "provider":
  5305  			if v == nil {
  5306  				continue
  5307  			}
  5308  			xxx, err := UnmarshalCloudProviderInterface(*v)
  5309  			if err != nil {
  5310  				return err
  5311  			}
  5312  
  5313  			if xxx != nil {
  5314  				x.Provider = *xxx
  5315  			}
  5316  		case "slug":
  5317  			err = json.Unmarshal(*v, &x.Slug)
  5318  			if err != nil {
  5319  				return err
  5320  			}
  5321  		case "updatedAt":
  5322  			err = json.Unmarshal(*v, &x.UpdatedAt)
  5323  			if err != nil {
  5324  				return err
  5325  			}
  5326  		}
  5327  	}
  5328  
  5329  	return nil
  5330  }
  5331  
  5332  // CloudSesIntegration - SES Integration
  5333  type CloudSesIntegration struct {
  5334  	// Specify each AWS region that includes the resources that you want to monitor.
  5335  	AwsRegions []string `json:"awsRegions,omitempty"`
  5336  	// The object creation date, in epoch (Unix) time
  5337  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5338  	// The cloud service integration identifier.
  5339  	ID int `json:"id,omitempty"`
  5340  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5341  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5342  	// The parent linked account identifier.
  5343  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5344  	// The data polling interval in seconds.
  5345  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5346  	// The cloud service integration name.
  5347  	Name string `json:"name,omitempty"`
  5348  	// The parent NewRelic account identifier.
  5349  	NrAccountId int `json:"nrAccountId"`
  5350  	// The cloud service used in the integration.
  5351  	Service CloudService `json:"service,omitempty"`
  5352  	// The object last update date, in epoch (Unix) time
  5353  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5354  }
  5355  
  5356  func (x *CloudSesIntegration) ImplementsCloudIntegration() {}
  5357  
  5358  // CloudSesIntegrationInput - Amazon Simple Email Service (SES)
  5359  type CloudSesIntegrationInput struct {
  5360  	// Specify each AWS region that includes the resources that you want to monitor.
  5361  	AwsRegions []string `json:"awsRegions,omitempty"`
  5362  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5363  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5364  	// The linked account identifier.
  5365  	LinkedAccountId int `json:"linkedAccountId"`
  5366  	// The data polling interval in seconds.
  5367  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5368  }
  5369  
  5370  // CloudSnsIntegration - SNS Integration
  5371  type CloudSnsIntegration struct {
  5372  	// Specify each AWS region that includes the resources that you want to monitor.
  5373  	AwsRegions []string `json:"awsRegions,omitempty"`
  5374  	// The object creation date, in epoch (Unix) time
  5375  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5376  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5377  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5378  	// The cloud service integration identifier.
  5379  	ID int `json:"id,omitempty"`
  5380  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5381  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5382  	// The parent linked account identifier.
  5383  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5384  	// The data polling interval in seconds.
  5385  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5386  	// The cloud service integration name.
  5387  	Name string `json:"name,omitempty"`
  5388  	// The parent NewRelic account identifier.
  5389  	NrAccountId int `json:"nrAccountId"`
  5390  	// The cloud service used in the integration.
  5391  	Service CloudService `json:"service,omitempty"`
  5392  	// The object last update date, in epoch (Unix) time
  5393  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5394  }
  5395  
  5396  func (x *CloudSnsIntegration) ImplementsCloudIntegration() {}
  5397  
  5398  // CloudSnsIntegrationInput - Amazon Simple Notification Service (SNS)
  5399  type CloudSnsIntegrationInput struct {
  5400  	// Specify each AWS region that includes the resources that you want to monitor.
  5401  	AwsRegions []string `json:"awsRegions,omitempty"`
  5402  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5403  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5404  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5405  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5406  	// The linked account identifier.
  5407  	LinkedAccountId int `json:"linkedAccountId"`
  5408  	// The data polling interval in seconds.
  5409  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5410  }
  5411  
  5412  // CloudSqsIntegration - SQS Integration
  5413  type CloudSqsIntegration struct {
  5414  	// Specify each AWS region that includes the resources that you want to monitor.
  5415  	AwsRegions []string `json:"awsRegions,omitempty"`
  5416  	// The object creation date, in epoch (Unix) time
  5417  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5418  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5419  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5420  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5421  	FetchTags bool `json:"fetchTags,omitempty"`
  5422  	// The cloud service integration identifier.
  5423  	ID int `json:"id,omitempty"`
  5424  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5425  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5426  	// The parent linked account identifier.
  5427  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5428  	// The data polling interval in seconds.
  5429  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5430  	// The cloud service integration name.
  5431  	Name string `json:"name,omitempty"`
  5432  	// The parent NewRelic account identifier.
  5433  	NrAccountId int `json:"nrAccountId"`
  5434  	// Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
  5435  	QueuePrefixes []string `json:"queuePrefixes,omitempty"`
  5436  	// The cloud service used in the integration.
  5437  	Service CloudService `json:"service,omitempty"`
  5438  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5439  	TagKey string `json:"tagKey,omitempty"`
  5440  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5441  	TagValue string `json:"tagValue,omitempty"`
  5442  	// The object last update date, in epoch (Unix) time
  5443  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5444  }
  5445  
  5446  func (x *CloudSqsIntegration) ImplementsCloudIntegration() {}
  5447  
  5448  // CloudSqsIntegrationInput - Amazon Simple Queue Service (SQS)
  5449  type CloudSqsIntegrationInput struct {
  5450  	// Specify each AWS region that includes the resources that you want to monitor.
  5451  	AwsRegions []string `json:"awsRegions,omitempty"`
  5452  	// Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5453  	FetchExtendedInventory bool `json:"fetchExtendedInventory,omitempty"`
  5454  	// Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5455  	FetchTags bool `json:"fetchTags,omitempty"`
  5456  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5457  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5458  	// The linked account identifier.
  5459  	LinkedAccountId int `json:"linkedAccountId"`
  5460  	// The data polling interval in seconds.
  5461  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5462  	// Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
  5463  	QueuePrefixes []string `json:"queuePrefixes,omitempty"`
  5464  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5465  	TagKey string `json:"tagKey,omitempty"`
  5466  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5467  	TagValue string `json:"tagValue,omitempty"`
  5468  }
  5469  
  5470  // CloudTrustedadvisorIntegration - Trusted Advisor Integration
  5471  type CloudTrustedadvisorIntegration struct {
  5472  	// The object creation date, in epoch (Unix) time
  5473  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5474  	// The cloud service integration identifier.
  5475  	ID int `json:"id,omitempty"`
  5476  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5477  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5478  	// The parent linked account identifier.
  5479  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5480  	// The data polling interval in seconds.
  5481  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5482  	// The cloud service integration name.
  5483  	Name string `json:"name,omitempty"`
  5484  	// The parent NewRelic account identifier.
  5485  	NrAccountId int `json:"nrAccountId"`
  5486  	// The cloud service used in the integration.
  5487  	Service CloudService `json:"service,omitempty"`
  5488  	// The object last update date, in epoch (Unix) time
  5489  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5490  }
  5491  
  5492  func (x *CloudTrustedadvisorIntegration) ImplementsCloudIntegration() {}
  5493  
  5494  // CloudTrustedadvisorIntegrationInput - Trusted Advisor
  5495  type CloudTrustedadvisorIntegrationInput struct {
  5496  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5497  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5498  	// The linked account identifier.
  5499  	LinkedAccountId int `json:"linkedAccountId"`
  5500  	// The data polling interval in seconds.
  5501  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5502  }
  5503  
  5504  // CloudUnlinkAccountPayload - Autogenerated return type of UnlinkAccount
  5505  type CloudUnlinkAccountPayload struct {
  5506  	// The list of errors.
  5507  	Errors []CloudAccountMutationError `json:"errors"`
  5508  	// The unlinked accounts.
  5509  	UnlinkedAccounts []CloudLinkedAccount `json:"unlinkedAccounts"`
  5510  }
  5511  
  5512  // CloudUnlinkAccountsInput - Information required to unlink (remove) a linked account.
  5513  type CloudUnlinkAccountsInput struct {
  5514  	// The linked account identifier.
  5515  	LinkedAccountId int `json:"linkedAccountId"`
  5516  }
  5517  
  5518  // CloudVpcIntegration - VPC Integration
  5519  type CloudVpcIntegration struct {
  5520  	// Specify each AWS region that includes the resources that you want to monitor.
  5521  	AwsRegions []string `json:"awsRegions,omitempty"`
  5522  	// The object creation date, in epoch (Unix) time
  5523  	CreatedAt nrtime.EpochSeconds `json:"createdAt"`
  5524  	// Specify if NAT gateway should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5525  	FetchNatGateway bool `json:"fetchNatGateway,omitempty"`
  5526  	// Specify if VPN should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5527  	FetchVpn bool `json:"fetchVpn,omitempty"`
  5528  	// The cloud service integration identifier.
  5529  	ID int `json:"id,omitempty"`
  5530  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5531  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5532  	// The parent linked account identifier.
  5533  	LinkedAccount CloudLinkedAccount `json:"linkedAccount,omitempty"`
  5534  	// The data polling interval in seconds.
  5535  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5536  	// The cloud service integration name.
  5537  	Name string `json:"name,omitempty"`
  5538  	// The parent NewRelic account identifier.
  5539  	NrAccountId int `json:"nrAccountId"`
  5540  	// The cloud service used in the integration.
  5541  	Service CloudService `json:"service,omitempty"`
  5542  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5543  	TagKey string `json:"tagKey,omitempty"`
  5544  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5545  	TagValue string `json:"tagValue,omitempty"`
  5546  	// The object last update date, in epoch (Unix) time
  5547  	UpdatedAt nrtime.EpochSeconds `json:"updatedAt"`
  5548  }
  5549  
  5550  func (x *CloudVpcIntegration) ImplementsCloudIntegration() {}
  5551  
  5552  // CloudVpcIntegrationInput - Amazon Virtual Private Cloud (VPC)
  5553  type CloudVpcIntegrationInput struct {
  5554  	// Specify each AWS region that includes the resources that you want to monitor.
  5555  	AwsRegions []string `json:"awsRegions,omitempty"`
  5556  	// Specify if NAT gateway should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5557  	FetchNatGateway bool `json:"fetchNatGateway,omitempty"`
  5558  	// Specify if VPN should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
  5559  	FetchVpn bool `json:"fetchVpn,omitempty"`
  5560  	// [DEPRECATED] Multiple polling interval is no longer supported, use only metrics_polling_interval
  5561  	InventoryPollingInterval int `json:"inventoryPollingInterval,omitempty"`
  5562  	// The linked account identifier.
  5563  	LinkedAccountId int `json:"linkedAccountId"`
  5564  	// The data polling interval in seconds.
  5565  	MetricsPollingInterval int `json:"metricsPollingInterval,omitempty"`
  5566  	// Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
  5567  	TagKey string `json:"tagKey,omitempty"`
  5568  	// Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
  5569  	TagValue string `json:"tagValue,omitempty"`
  5570  }
  5571  
  5572  type linkedAccountResponse struct {
  5573  	Actor Actor `json:"actor"`
  5574  }
  5575  
  5576  type linkedAccountsResponse struct {
  5577  	Actor Actor `json:"actor"`
  5578  }
  5579  
  5580  // SecureValue - The `SecureValue` scalar represents a secure value, ie a password, an API key, etc.
  5581  type SecureValue string
  5582  
  5583  // CloudIntegration - The configuration of a cloud service integration for a linked account.
  5584  type CloudIntegrationInterface interface {
  5585  	ImplementsCloudIntegration()
  5586  }
  5587  
  5588  // UnmarshalCloudIntegrationInterface unmarshals the interface into the correct type
  5589  // based on __typename provided by GraphQL
  5590  func UnmarshalCloudIntegrationInterface(b []byte) (*CloudIntegrationInterface, error) {
  5591  	var err error
  5592  
  5593  	var rawMessageCloudIntegration map[string]*json.RawMessage
  5594  	err = json.Unmarshal(b, &rawMessageCloudIntegration)
  5595  	if err != nil {
  5596  		return nil, err
  5597  	}
  5598  
  5599  	// Nothing to unmarshal
  5600  	if len(rawMessageCloudIntegration) < 1 {
  5601  		return nil, nil
  5602  	}
  5603  
  5604  	var typeName string
  5605  
  5606  	if rawTypeName, ok := rawMessageCloudIntegration["__typename"]; ok {
  5607  		err = json.Unmarshal(*rawTypeName, &typeName)
  5608  		if err != nil {
  5609  			return nil, err
  5610  		}
  5611  
  5612  		switch typeName {
  5613  		case "CloudAlbIntegration":
  5614  			var interfaceType CloudAlbIntegration
  5615  			err = json.Unmarshal(b, &interfaceType)
  5616  			if err != nil {
  5617  				return nil, err
  5618  			}
  5619  
  5620  			var xxx CloudIntegrationInterface = &interfaceType
  5621  
  5622  			return &xxx, nil
  5623  		case "CloudApigatewayIntegration":
  5624  			var interfaceType CloudAPIgatewayIntegration
  5625  			err = json.Unmarshal(b, &interfaceType)
  5626  			if err != nil {
  5627  				return nil, err
  5628  			}
  5629  
  5630  			var xxx CloudIntegrationInterface = &interfaceType
  5631  
  5632  			return &xxx, nil
  5633  		case "CloudAutoscalingIntegration":
  5634  			var interfaceType CloudAutoscalingIntegration
  5635  			err = json.Unmarshal(b, &interfaceType)
  5636  			if err != nil {
  5637  				return nil, err
  5638  			}
  5639  
  5640  			var xxx CloudIntegrationInterface = &interfaceType
  5641  
  5642  			return &xxx, nil
  5643  		case "CloudAwsAppsyncIntegration":
  5644  			var interfaceType CloudAwsAppsyncIntegration
  5645  			err = json.Unmarshal(b, &interfaceType)
  5646  			if err != nil {
  5647  				return nil, err
  5648  			}
  5649  
  5650  			var xxx CloudIntegrationInterface = &interfaceType
  5651  
  5652  			return &xxx, nil
  5653  		case "CloudAwsAthenaIntegration":
  5654  			var interfaceType CloudAwsAthenaIntegration
  5655  			err = json.Unmarshal(b, &interfaceType)
  5656  			if err != nil {
  5657  				return nil, err
  5658  			}
  5659  
  5660  			var xxx CloudIntegrationInterface = &interfaceType
  5661  
  5662  			return &xxx, nil
  5663  		case "CloudAwsCognitoIntegration":
  5664  			var interfaceType CloudAwsCognitoIntegration
  5665  			err = json.Unmarshal(b, &interfaceType)
  5666  			if err != nil {
  5667  				return nil, err
  5668  			}
  5669  
  5670  			var xxx CloudIntegrationInterface = &interfaceType
  5671  
  5672  			return &xxx, nil
  5673  		case "CloudAwsConnectIntegration":
  5674  			var interfaceType CloudAwsConnectIntegration
  5675  			err = json.Unmarshal(b, &interfaceType)
  5676  			if err != nil {
  5677  				return nil, err
  5678  			}
  5679  
  5680  			var xxx CloudIntegrationInterface = &interfaceType
  5681  
  5682  			return &xxx, nil
  5683  		case "CloudAwsDirectconnectIntegration":
  5684  			var interfaceType CloudAwsDirectconnectIntegration
  5685  			err = json.Unmarshal(b, &interfaceType)
  5686  			if err != nil {
  5687  				return nil, err
  5688  			}
  5689  
  5690  			var xxx CloudIntegrationInterface = &interfaceType
  5691  
  5692  			return &xxx, nil
  5693  		case "CloudAwsDocdbIntegration":
  5694  			var interfaceType CloudAwsDocdbIntegration
  5695  			err = json.Unmarshal(b, &interfaceType)
  5696  			if err != nil {
  5697  				return nil, err
  5698  			}
  5699  
  5700  			var xxx CloudIntegrationInterface = &interfaceType
  5701  
  5702  			return &xxx, nil
  5703  		case "CloudAwsFsxIntegration":
  5704  			var interfaceType CloudAwsFsxIntegration
  5705  			err = json.Unmarshal(b, &interfaceType)
  5706  			if err != nil {
  5707  				return nil, err
  5708  			}
  5709  
  5710  			var xxx CloudIntegrationInterface = &interfaceType
  5711  
  5712  			return &xxx, nil
  5713  		case "CloudAwsGlueIntegration":
  5714  			var interfaceType CloudAwsGlueIntegration
  5715  			err = json.Unmarshal(b, &interfaceType)
  5716  			if err != nil {
  5717  				return nil, err
  5718  			}
  5719  
  5720  			var xxx CloudIntegrationInterface = &interfaceType
  5721  
  5722  			return &xxx, nil
  5723  		case "CloudAwsKinesisanalyticsIntegration":
  5724  			var interfaceType CloudAwsKinesisanalyticsIntegration
  5725  			err = json.Unmarshal(b, &interfaceType)
  5726  			if err != nil {
  5727  				return nil, err
  5728  			}
  5729  
  5730  			var xxx CloudIntegrationInterface = &interfaceType
  5731  
  5732  			return &xxx, nil
  5733  		case "CloudAwsMediaconvertIntegration":
  5734  			var interfaceType CloudAwsMediaconvertIntegration
  5735  			err = json.Unmarshal(b, &interfaceType)
  5736  			if err != nil {
  5737  				return nil, err
  5738  			}
  5739  
  5740  			var xxx CloudIntegrationInterface = &interfaceType
  5741  
  5742  			return &xxx, nil
  5743  		case "CloudAwsMediapackagevodIntegration":
  5744  			var interfaceType CloudAwsMediapackagevodIntegration
  5745  			err = json.Unmarshal(b, &interfaceType)
  5746  			if err != nil {
  5747  				return nil, err
  5748  			}
  5749  
  5750  			var xxx CloudIntegrationInterface = &interfaceType
  5751  
  5752  			return &xxx, nil
  5753  		case "CloudAwsMetadataIntegration":
  5754  			var interfaceType CloudAwsMetadataIntegration
  5755  			err = json.Unmarshal(b, &interfaceType)
  5756  			if err != nil {
  5757  				return nil, err
  5758  			}
  5759  
  5760  			var xxx CloudIntegrationInterface = &interfaceType
  5761  
  5762  			return &xxx, nil
  5763  		case "CloudAwsMqIntegration":
  5764  			var interfaceType CloudAwsMqIntegration
  5765  			err = json.Unmarshal(b, &interfaceType)
  5766  			if err != nil {
  5767  				return nil, err
  5768  			}
  5769  
  5770  			var xxx CloudIntegrationInterface = &interfaceType
  5771  
  5772  			return &xxx, nil
  5773  		case "CloudAwsMskIntegration":
  5774  			var interfaceType CloudAwsMskIntegration
  5775  			err = json.Unmarshal(b, &interfaceType)
  5776  			if err != nil {
  5777  				return nil, err
  5778  			}
  5779  
  5780  			var xxx CloudIntegrationInterface = &interfaceType
  5781  
  5782  			return &xxx, nil
  5783  		case "CloudAwsNeptuneIntegration":
  5784  			var interfaceType CloudAwsNeptuneIntegration
  5785  			err = json.Unmarshal(b, &interfaceType)
  5786  			if err != nil {
  5787  				return nil, err
  5788  			}
  5789  
  5790  			var xxx CloudIntegrationInterface = &interfaceType
  5791  
  5792  			return &xxx, nil
  5793  		case "CloudAwsQldbIntegration":
  5794  			var interfaceType CloudAwsQldbIntegration
  5795  			err = json.Unmarshal(b, &interfaceType)
  5796  			if err != nil {
  5797  				return nil, err
  5798  			}
  5799  
  5800  			var xxx CloudIntegrationInterface = &interfaceType
  5801  
  5802  			return &xxx, nil
  5803  		case "CloudAwsRoute53resolverIntegration":
  5804  			var interfaceType CloudAwsRoute53resolverIntegration
  5805  			err = json.Unmarshal(b, &interfaceType)
  5806  			if err != nil {
  5807  				return nil, err
  5808  			}
  5809  
  5810  			var xxx CloudIntegrationInterface = &interfaceType
  5811  
  5812  			return &xxx, nil
  5813  		case "CloudAwsStatesIntegration":
  5814  			var interfaceType CloudAwsStatesIntegration
  5815  			err = json.Unmarshal(b, &interfaceType)
  5816  			if err != nil {
  5817  				return nil, err
  5818  			}
  5819  
  5820  			var xxx CloudIntegrationInterface = &interfaceType
  5821  
  5822  			return &xxx, nil
  5823  		case "CloudAwsTagsGlobalIntegration":
  5824  			var interfaceType CloudAwsTagsGlobalIntegration
  5825  			err = json.Unmarshal(b, &interfaceType)
  5826  			if err != nil {
  5827  				return nil, err
  5828  			}
  5829  
  5830  			var xxx CloudIntegrationInterface = &interfaceType
  5831  
  5832  			return &xxx, nil
  5833  		case "CloudAwsTransitgatewayIntegration":
  5834  			var interfaceType CloudAwsTransitgatewayIntegration
  5835  			err = json.Unmarshal(b, &interfaceType)
  5836  			if err != nil {
  5837  				return nil, err
  5838  			}
  5839  
  5840  			var xxx CloudIntegrationInterface = &interfaceType
  5841  
  5842  			return &xxx, nil
  5843  		case "CloudAwsWafIntegration":
  5844  			var interfaceType CloudAwsWafIntegration
  5845  			err = json.Unmarshal(b, &interfaceType)
  5846  			if err != nil {
  5847  				return nil, err
  5848  			}
  5849  
  5850  			var xxx CloudIntegrationInterface = &interfaceType
  5851  
  5852  			return &xxx, nil
  5853  		case "CloudAwsWafv2Integration":
  5854  			var interfaceType CloudAwsWafv2Integration
  5855  			err = json.Unmarshal(b, &interfaceType)
  5856  			if err != nil {
  5857  				return nil, err
  5858  			}
  5859  
  5860  			var xxx CloudIntegrationInterface = &interfaceType
  5861  
  5862  			return &xxx, nil
  5863  		case "CloudAwsXrayIntegration":
  5864  			var interfaceType CloudAwsXrayIntegration
  5865  			err = json.Unmarshal(b, &interfaceType)
  5866  			if err != nil {
  5867  				return nil, err
  5868  			}
  5869  
  5870  			var xxx CloudIntegrationInterface = &interfaceType
  5871  
  5872  			return &xxx, nil
  5873  		case "CloudAzureApimanagementIntegration":
  5874  			var interfaceType CloudAzureAPImanagementIntegration
  5875  			err = json.Unmarshal(b, &interfaceType)
  5876  			if err != nil {
  5877  				return nil, err
  5878  			}
  5879  
  5880  			var xxx CloudIntegrationInterface = &interfaceType
  5881  
  5882  			return &xxx, nil
  5883  		case "CloudAzureAppgatewayIntegration":
  5884  			var interfaceType CloudAzureAppgatewayIntegration
  5885  			err = json.Unmarshal(b, &interfaceType)
  5886  			if err != nil {
  5887  				return nil, err
  5888  			}
  5889  
  5890  			var xxx CloudIntegrationInterface = &interfaceType
  5891  
  5892  			return &xxx, nil
  5893  		case "CloudAzureAppserviceIntegration":
  5894  			var interfaceType CloudAzureAppserviceIntegration
  5895  			err = json.Unmarshal(b, &interfaceType)
  5896  			if err != nil {
  5897  				return nil, err
  5898  			}
  5899  
  5900  			var xxx CloudIntegrationInterface = &interfaceType
  5901  
  5902  			return &xxx, nil
  5903  		case "CloudAzureContainersIntegration":
  5904  			var interfaceType CloudAzureContainersIntegration
  5905  			err = json.Unmarshal(b, &interfaceType)
  5906  			if err != nil {
  5907  				return nil, err
  5908  			}
  5909  
  5910  			var xxx CloudIntegrationInterface = &interfaceType
  5911  
  5912  			return &xxx, nil
  5913  		case "CloudAzureCosmosdbIntegration":
  5914  			var interfaceType CloudAzureCosmosdbIntegration
  5915  			err = json.Unmarshal(b, &interfaceType)
  5916  			if err != nil {
  5917  				return nil, err
  5918  			}
  5919  
  5920  			var xxx CloudIntegrationInterface = &interfaceType
  5921  
  5922  			return &xxx, nil
  5923  		case "CloudAzureCostmanagementIntegration":
  5924  			var interfaceType CloudAzureCostmanagementIntegration
  5925  			err = json.Unmarshal(b, &interfaceType)
  5926  			if err != nil {
  5927  				return nil, err
  5928  			}
  5929  
  5930  			var xxx CloudIntegrationInterface = &interfaceType
  5931  
  5932  			return &xxx, nil
  5933  		case "CloudAzureDatafactoryIntegration":
  5934  			var interfaceType CloudAzureDatafactoryIntegration
  5935  			err = json.Unmarshal(b, &interfaceType)
  5936  			if err != nil {
  5937  				return nil, err
  5938  			}
  5939  
  5940  			var xxx CloudIntegrationInterface = &interfaceType
  5941  
  5942  			return &xxx, nil
  5943  		case "CloudAzureEventhubIntegration":
  5944  			var interfaceType CloudAzureEventhubIntegration
  5945  			err = json.Unmarshal(b, &interfaceType)
  5946  			if err != nil {
  5947  				return nil, err
  5948  			}
  5949  
  5950  			var xxx CloudIntegrationInterface = &interfaceType
  5951  
  5952  			return &xxx, nil
  5953  		case "CloudAzureExpressrouteIntegration":
  5954  			var interfaceType CloudAzureExpressrouteIntegration
  5955  			err = json.Unmarshal(b, &interfaceType)
  5956  			if err != nil {
  5957  				return nil, err
  5958  			}
  5959  
  5960  			var xxx CloudIntegrationInterface = &interfaceType
  5961  
  5962  			return &xxx, nil
  5963  		case "CloudAzureFirewallsIntegration":
  5964  			var interfaceType CloudAzureFirewallsIntegration
  5965  			err = json.Unmarshal(b, &interfaceType)
  5966  			if err != nil {
  5967  				return nil, err
  5968  			}
  5969  
  5970  			var xxx CloudIntegrationInterface = &interfaceType
  5971  
  5972  			return &xxx, nil
  5973  		case "CloudAzureFrontdoorIntegration":
  5974  			var interfaceType CloudAzureFrontdoorIntegration
  5975  			err = json.Unmarshal(b, &interfaceType)
  5976  			if err != nil {
  5977  				return nil, err
  5978  			}
  5979  
  5980  			var xxx CloudIntegrationInterface = &interfaceType
  5981  
  5982  			return &xxx, nil
  5983  		case "CloudAzureFunctionsIntegration":
  5984  			var interfaceType CloudAzureFunctionsIntegration
  5985  			err = json.Unmarshal(b, &interfaceType)
  5986  			if err != nil {
  5987  				return nil, err
  5988  			}
  5989  
  5990  			var xxx CloudIntegrationInterface = &interfaceType
  5991  
  5992  			return &xxx, nil
  5993  		case "CloudAzureKeyvaultIntegration":
  5994  			var interfaceType CloudAzureKeyvaultIntegration
  5995  			err = json.Unmarshal(b, &interfaceType)
  5996  			if err != nil {
  5997  				return nil, err
  5998  			}
  5999  
  6000  			var xxx CloudIntegrationInterface = &interfaceType
  6001  
  6002  			return &xxx, nil
  6003  		case "CloudAzureLoadbalancerIntegration":
  6004  			var interfaceType CloudAzureLoadbalancerIntegration
  6005  			err = json.Unmarshal(b, &interfaceType)
  6006  			if err != nil {
  6007  				return nil, err
  6008  			}
  6009  
  6010  			var xxx CloudIntegrationInterface = &interfaceType
  6011  
  6012  			return &xxx, nil
  6013  		case "CloudAzureLogicappsIntegration":
  6014  			var interfaceType CloudAzureLogicappsIntegration
  6015  			err = json.Unmarshal(b, &interfaceType)
  6016  			if err != nil {
  6017  				return nil, err
  6018  			}
  6019  
  6020  			var xxx CloudIntegrationInterface = &interfaceType
  6021  
  6022  			return &xxx, nil
  6023  		case "CloudAzureMachinelearningIntegration":
  6024  			var interfaceType CloudAzureMachinelearningIntegration
  6025  			err = json.Unmarshal(b, &interfaceType)
  6026  			if err != nil {
  6027  				return nil, err
  6028  			}
  6029  
  6030  			var xxx CloudIntegrationInterface = &interfaceType
  6031  
  6032  			return &xxx, nil
  6033  		case "CloudAzureMariadbIntegration":
  6034  			var interfaceType CloudAzureMariadbIntegration
  6035  			err = json.Unmarshal(b, &interfaceType)
  6036  			if err != nil {
  6037  				return nil, err
  6038  			}
  6039  
  6040  			var xxx CloudIntegrationInterface = &interfaceType
  6041  
  6042  			return &xxx, nil
  6043  		case "CloudAzureMysqlIntegration":
  6044  			var interfaceType CloudAzureMysqlIntegration
  6045  			err = json.Unmarshal(b, &interfaceType)
  6046  			if err != nil {
  6047  				return nil, err
  6048  			}
  6049  
  6050  			var xxx CloudIntegrationInterface = &interfaceType
  6051  
  6052  			return &xxx, nil
  6053  		case "CloudAzurePostgresqlIntegration":
  6054  			var interfaceType CloudAzurePostgresqlIntegration
  6055  			err = json.Unmarshal(b, &interfaceType)
  6056  			if err != nil {
  6057  				return nil, err
  6058  			}
  6059  
  6060  			var xxx CloudIntegrationInterface = &interfaceType
  6061  
  6062  			return &xxx, nil
  6063  		case "CloudAzurePowerbidedicatedIntegration":
  6064  			var interfaceType CloudAzurePowerbidedicatedIntegration
  6065  			err = json.Unmarshal(b, &interfaceType)
  6066  			if err != nil {
  6067  				return nil, err
  6068  			}
  6069  
  6070  			var xxx CloudIntegrationInterface = &interfaceType
  6071  
  6072  			return &xxx, nil
  6073  		case "CloudAzureRediscacheIntegration":
  6074  			var interfaceType CloudAzureRediscacheIntegration
  6075  			err = json.Unmarshal(b, &interfaceType)
  6076  			if err != nil {
  6077  				return nil, err
  6078  			}
  6079  
  6080  			var xxx CloudIntegrationInterface = &interfaceType
  6081  
  6082  			return &xxx, nil
  6083  		case "CloudAzureServicebusIntegration":
  6084  			var interfaceType CloudAzureServicebusIntegration
  6085  			err = json.Unmarshal(b, &interfaceType)
  6086  			if err != nil {
  6087  				return nil, err
  6088  			}
  6089  
  6090  			var xxx CloudIntegrationInterface = &interfaceType
  6091  
  6092  			return &xxx, nil
  6093  		case "CloudAzureServicefabricIntegration":
  6094  			var interfaceType CloudAzureServicefabricIntegration
  6095  			err = json.Unmarshal(b, &interfaceType)
  6096  			if err != nil {
  6097  				return nil, err
  6098  			}
  6099  
  6100  			var xxx CloudIntegrationInterface = &interfaceType
  6101  
  6102  			return &xxx, nil
  6103  		case "CloudAzureSqlIntegration":
  6104  			var interfaceType CloudAzureSqlIntegration
  6105  			err = json.Unmarshal(b, &interfaceType)
  6106  			if err != nil {
  6107  				return nil, err
  6108  			}
  6109  
  6110  			var xxx CloudIntegrationInterface = &interfaceType
  6111  
  6112  			return &xxx, nil
  6113  		case "CloudAzureSqlmanagedIntegration":
  6114  			var interfaceType CloudAzureSqlmanagedIntegration
  6115  			err = json.Unmarshal(b, &interfaceType)
  6116  			if err != nil {
  6117  				return nil, err
  6118  			}
  6119  
  6120  			var xxx CloudIntegrationInterface = &interfaceType
  6121  
  6122  			return &xxx, nil
  6123  		case "CloudAzureStorageIntegration":
  6124  			var interfaceType CloudAzureStorageIntegration
  6125  			err = json.Unmarshal(b, &interfaceType)
  6126  			if err != nil {
  6127  				return nil, err
  6128  			}
  6129  
  6130  			var xxx CloudIntegrationInterface = &interfaceType
  6131  
  6132  			return &xxx, nil
  6133  		case "CloudAzureVirtualmachineIntegration":
  6134  			var interfaceType CloudAzureVirtualmachineIntegration
  6135  			err = json.Unmarshal(b, &interfaceType)
  6136  			if err != nil {
  6137  				return nil, err
  6138  			}
  6139  
  6140  			var xxx CloudIntegrationInterface = &interfaceType
  6141  
  6142  			return &xxx, nil
  6143  		case "CloudAzureVirtualnetworksIntegration":
  6144  			var interfaceType CloudAzureVirtualnetworksIntegration
  6145  			err = json.Unmarshal(b, &interfaceType)
  6146  			if err != nil {
  6147  				return nil, err
  6148  			}
  6149  
  6150  			var xxx CloudIntegrationInterface = &interfaceType
  6151  
  6152  			return &xxx, nil
  6153  		case "CloudAzureVmsIntegration":
  6154  			var interfaceType CloudAzureVmsIntegration
  6155  			err = json.Unmarshal(b, &interfaceType)
  6156  			if err != nil {
  6157  				return nil, err
  6158  			}
  6159  
  6160  			var xxx CloudIntegrationInterface = &interfaceType
  6161  
  6162  			return &xxx, nil
  6163  		case "CloudAzureVpngatewaysIntegration":
  6164  			var interfaceType CloudAzureVpngatewaysIntegration
  6165  			err = json.Unmarshal(b, &interfaceType)
  6166  			if err != nil {
  6167  				return nil, err
  6168  			}
  6169  
  6170  			var xxx CloudIntegrationInterface = &interfaceType
  6171  
  6172  			return &xxx, nil
  6173  		case "CloudBaseIntegration":
  6174  			var interfaceType CloudBaseIntegration
  6175  			err = json.Unmarshal(b, &interfaceType)
  6176  			if err != nil {
  6177  				return nil, err
  6178  			}
  6179  
  6180  			var xxx CloudIntegrationInterface = &interfaceType
  6181  
  6182  			return &xxx, nil
  6183  		case "CloudBillingIntegration":
  6184  			var interfaceType CloudBillingIntegration
  6185  			err = json.Unmarshal(b, &interfaceType)
  6186  			if err != nil {
  6187  				return nil, err
  6188  			}
  6189  
  6190  			var xxx CloudIntegrationInterface = &interfaceType
  6191  
  6192  			return &xxx, nil
  6193  		case "CloudCloudfrontIntegration":
  6194  			var interfaceType CloudCloudfrontIntegration
  6195  			err = json.Unmarshal(b, &interfaceType)
  6196  			if err != nil {
  6197  				return nil, err
  6198  			}
  6199  
  6200  			var xxx CloudIntegrationInterface = &interfaceType
  6201  
  6202  			return &xxx, nil
  6203  		case "CloudCloudtrailIntegration":
  6204  			var interfaceType CloudCloudtrailIntegration
  6205  			err = json.Unmarshal(b, &interfaceType)
  6206  			if err != nil {
  6207  				return nil, err
  6208  			}
  6209  
  6210  			var xxx CloudIntegrationInterface = &interfaceType
  6211  
  6212  			return &xxx, nil
  6213  		case "CloudDynamodbIntegration":
  6214  			var interfaceType CloudDynamodbIntegration
  6215  			err = json.Unmarshal(b, &interfaceType)
  6216  			if err != nil {
  6217  				return nil, err
  6218  			}
  6219  
  6220  			var xxx CloudIntegrationInterface = &interfaceType
  6221  
  6222  			return &xxx, nil
  6223  		case "CloudEbsIntegration":
  6224  			var interfaceType CloudEbsIntegration
  6225  			err = json.Unmarshal(b, &interfaceType)
  6226  			if err != nil {
  6227  				return nil, err
  6228  			}
  6229  
  6230  			var xxx CloudIntegrationInterface = &interfaceType
  6231  
  6232  			return &xxx, nil
  6233  		case "CloudEc2Integration":
  6234  			var interfaceType CloudEc2Integration
  6235  			err = json.Unmarshal(b, &interfaceType)
  6236  			if err != nil {
  6237  				return nil, err
  6238  			}
  6239  
  6240  			var xxx CloudIntegrationInterface = &interfaceType
  6241  
  6242  			return &xxx, nil
  6243  		case "CloudEcsIntegration":
  6244  			var interfaceType CloudEcsIntegration
  6245  			err = json.Unmarshal(b, &interfaceType)
  6246  			if err != nil {
  6247  				return nil, err
  6248  			}
  6249  
  6250  			var xxx CloudIntegrationInterface = &interfaceType
  6251  
  6252  			return &xxx, nil
  6253  		case "CloudEfsIntegration":
  6254  			var interfaceType CloudEfsIntegration
  6255  			err = json.Unmarshal(b, &interfaceType)
  6256  			if err != nil {
  6257  				return nil, err
  6258  			}
  6259  
  6260  			var xxx CloudIntegrationInterface = &interfaceType
  6261  
  6262  			return &xxx, nil
  6263  		case "CloudElasticacheIntegration":
  6264  			var interfaceType CloudElasticacheIntegration
  6265  			err = json.Unmarshal(b, &interfaceType)
  6266  			if err != nil {
  6267  				return nil, err
  6268  			}
  6269  
  6270  			var xxx CloudIntegrationInterface = &interfaceType
  6271  
  6272  			return &xxx, nil
  6273  		case "CloudElasticbeanstalkIntegration":
  6274  			var interfaceType CloudElasticbeanstalkIntegration
  6275  			err = json.Unmarshal(b, &interfaceType)
  6276  			if err != nil {
  6277  				return nil, err
  6278  			}
  6279  
  6280  			var xxx CloudIntegrationInterface = &interfaceType
  6281  
  6282  			return &xxx, nil
  6283  		case "CloudElasticsearchIntegration":
  6284  			var interfaceType CloudElasticsearchIntegration
  6285  			err = json.Unmarshal(b, &interfaceType)
  6286  			if err != nil {
  6287  				return nil, err
  6288  			}
  6289  
  6290  			var xxx CloudIntegrationInterface = &interfaceType
  6291  
  6292  			return &xxx, nil
  6293  		case "CloudElbIntegration":
  6294  			var interfaceType CloudElbIntegration
  6295  			err = json.Unmarshal(b, &interfaceType)
  6296  			if err != nil {
  6297  				return nil, err
  6298  			}
  6299  
  6300  			var xxx CloudIntegrationInterface = &interfaceType
  6301  
  6302  			return &xxx, nil
  6303  		case "CloudEmrIntegration":
  6304  			var interfaceType CloudEmrIntegration
  6305  			err = json.Unmarshal(b, &interfaceType)
  6306  			if err != nil {
  6307  				return nil, err
  6308  			}
  6309  
  6310  			var xxx CloudIntegrationInterface = &interfaceType
  6311  
  6312  			return &xxx, nil
  6313  		case "CloudGcpAppengineIntegration":
  6314  			var interfaceType CloudGcpAppengineIntegration
  6315  			err = json.Unmarshal(b, &interfaceType)
  6316  			if err != nil {
  6317  				return nil, err
  6318  			}
  6319  
  6320  			var xxx CloudIntegrationInterface = &interfaceType
  6321  
  6322  			return &xxx, nil
  6323  		case "CloudGcpBigqueryIntegration":
  6324  			var interfaceType CloudGcpBigqueryIntegration
  6325  			err = json.Unmarshal(b, &interfaceType)
  6326  			if err != nil {
  6327  				return nil, err
  6328  			}
  6329  
  6330  			var xxx CloudIntegrationInterface = &interfaceType
  6331  
  6332  			return &xxx, nil
  6333  		case "CloudGcpBigtableIntegration":
  6334  			var interfaceType CloudGcpBigtableIntegration
  6335  			err = json.Unmarshal(b, &interfaceType)
  6336  			if err != nil {
  6337  				return nil, err
  6338  			}
  6339  
  6340  			var xxx CloudIntegrationInterface = &interfaceType
  6341  
  6342  			return &xxx, nil
  6343  		case "CloudGcpComposerIntegration":
  6344  			var interfaceType CloudGcpComposerIntegration
  6345  			err = json.Unmarshal(b, &interfaceType)
  6346  			if err != nil {
  6347  				return nil, err
  6348  			}
  6349  
  6350  			var xxx CloudIntegrationInterface = &interfaceType
  6351  
  6352  			return &xxx, nil
  6353  		case "CloudGcpDataflowIntegration":
  6354  			var interfaceType CloudGcpDataflowIntegration
  6355  			err = json.Unmarshal(b, &interfaceType)
  6356  			if err != nil {
  6357  				return nil, err
  6358  			}
  6359  
  6360  			var xxx CloudIntegrationInterface = &interfaceType
  6361  
  6362  			return &xxx, nil
  6363  		case "CloudGcpDataprocIntegration":
  6364  			var interfaceType CloudGcpDataprocIntegration
  6365  			err = json.Unmarshal(b, &interfaceType)
  6366  			if err != nil {
  6367  				return nil, err
  6368  			}
  6369  
  6370  			var xxx CloudIntegrationInterface = &interfaceType
  6371  
  6372  			return &xxx, nil
  6373  		case "CloudGcpDatastoreIntegration":
  6374  			var interfaceType CloudGcpDatastoreIntegration
  6375  			err = json.Unmarshal(b, &interfaceType)
  6376  			if err != nil {
  6377  				return nil, err
  6378  			}
  6379  
  6380  			var xxx CloudIntegrationInterface = &interfaceType
  6381  
  6382  			return &xxx, nil
  6383  		case "CloudGcpFirebasedatabaseIntegration":
  6384  			var interfaceType CloudGcpFirebasedatabaseIntegration
  6385  			err = json.Unmarshal(b, &interfaceType)
  6386  			if err != nil {
  6387  				return nil, err
  6388  			}
  6389  
  6390  			var xxx CloudIntegrationInterface = &interfaceType
  6391  
  6392  			return &xxx, nil
  6393  		case "CloudGcpFirebasehostingIntegration":
  6394  			var interfaceType CloudGcpFirebasehostingIntegration
  6395  			err = json.Unmarshal(b, &interfaceType)
  6396  			if err != nil {
  6397  				return nil, err
  6398  			}
  6399  
  6400  			var xxx CloudIntegrationInterface = &interfaceType
  6401  
  6402  			return &xxx, nil
  6403  		case "CloudGcpFirebasestorageIntegration":
  6404  			var interfaceType CloudGcpFirebasestorageIntegration
  6405  			err = json.Unmarshal(b, &interfaceType)
  6406  			if err != nil {
  6407  				return nil, err
  6408  			}
  6409  
  6410  			var xxx CloudIntegrationInterface = &interfaceType
  6411  
  6412  			return &xxx, nil
  6413  		case "CloudGcpFirestoreIntegration":
  6414  			var interfaceType CloudGcpFirestoreIntegration
  6415  			err = json.Unmarshal(b, &interfaceType)
  6416  			if err != nil {
  6417  				return nil, err
  6418  			}
  6419  
  6420  			var xxx CloudIntegrationInterface = &interfaceType
  6421  
  6422  			return &xxx, nil
  6423  		case "CloudGcpFunctionsIntegration":
  6424  			var interfaceType CloudGcpFunctionsIntegration
  6425  			err = json.Unmarshal(b, &interfaceType)
  6426  			if err != nil {
  6427  				return nil, err
  6428  			}
  6429  
  6430  			var xxx CloudIntegrationInterface = &interfaceType
  6431  
  6432  			return &xxx, nil
  6433  		case "CloudGcpInterconnectIntegration":
  6434  			var interfaceType CloudGcpInterconnectIntegration
  6435  			err = json.Unmarshal(b, &interfaceType)
  6436  			if err != nil {
  6437  				return nil, err
  6438  			}
  6439  
  6440  			var xxx CloudIntegrationInterface = &interfaceType
  6441  
  6442  			return &xxx, nil
  6443  		case "CloudGcpKubernetesIntegration":
  6444  			var interfaceType CloudGcpKubernetesIntegration
  6445  			err = json.Unmarshal(b, &interfaceType)
  6446  			if err != nil {
  6447  				return nil, err
  6448  			}
  6449  
  6450  			var xxx CloudIntegrationInterface = &interfaceType
  6451  
  6452  			return &xxx, nil
  6453  		case "CloudGcpLoadbalancingIntegration":
  6454  			var interfaceType CloudGcpLoadbalancingIntegration
  6455  			err = json.Unmarshal(b, &interfaceType)
  6456  			if err != nil {
  6457  				return nil, err
  6458  			}
  6459  
  6460  			var xxx CloudIntegrationInterface = &interfaceType
  6461  
  6462  			return &xxx, nil
  6463  		case "CloudGcpMemcacheIntegration":
  6464  			var interfaceType CloudGcpMemcacheIntegration
  6465  			err = json.Unmarshal(b, &interfaceType)
  6466  			if err != nil {
  6467  				return nil, err
  6468  			}
  6469  
  6470  			var xxx CloudIntegrationInterface = &interfaceType
  6471  
  6472  			return &xxx, nil
  6473  		case "CloudGcpPubsubIntegration":
  6474  			var interfaceType CloudGcpPubsubIntegration
  6475  			err = json.Unmarshal(b, &interfaceType)
  6476  			if err != nil {
  6477  				return nil, err
  6478  			}
  6479  
  6480  			var xxx CloudIntegrationInterface = &interfaceType
  6481  
  6482  			return &xxx, nil
  6483  		case "CloudGcpRedisIntegration":
  6484  			var interfaceType CloudGcpRedisIntegration
  6485  			err = json.Unmarshal(b, &interfaceType)
  6486  			if err != nil {
  6487  				return nil, err
  6488  			}
  6489  
  6490  			var xxx CloudIntegrationInterface = &interfaceType
  6491  
  6492  			return &xxx, nil
  6493  		case "CloudGcpRouterIntegration":
  6494  			var interfaceType CloudGcpRouterIntegration
  6495  			err = json.Unmarshal(b, &interfaceType)
  6496  			if err != nil {
  6497  				return nil, err
  6498  			}
  6499  
  6500  			var xxx CloudIntegrationInterface = &interfaceType
  6501  
  6502  			return &xxx, nil
  6503  		case "CloudGcpRunIntegration":
  6504  			var interfaceType CloudGcpRunIntegration
  6505  			err = json.Unmarshal(b, &interfaceType)
  6506  			if err != nil {
  6507  				return nil, err
  6508  			}
  6509  
  6510  			var xxx CloudIntegrationInterface = &interfaceType
  6511  
  6512  			return &xxx, nil
  6513  		case "CloudGcpSpannerIntegration":
  6514  			var interfaceType CloudGcpSpannerIntegration
  6515  			err = json.Unmarshal(b, &interfaceType)
  6516  			if err != nil {
  6517  				return nil, err
  6518  			}
  6519  
  6520  			var xxx CloudIntegrationInterface = &interfaceType
  6521  
  6522  			return &xxx, nil
  6523  		case "CloudGcpSqlIntegration":
  6524  			var interfaceType CloudGcpSqlIntegration
  6525  			err = json.Unmarshal(b, &interfaceType)
  6526  			if err != nil {
  6527  				return nil, err
  6528  			}
  6529  
  6530  			var xxx CloudIntegrationInterface = &interfaceType
  6531  
  6532  			return &xxx, nil
  6533  		case "CloudGcpStorageIntegration":
  6534  			var interfaceType CloudGcpStorageIntegration
  6535  			err = json.Unmarshal(b, &interfaceType)
  6536  			if err != nil {
  6537  				return nil, err
  6538  			}
  6539  
  6540  			var xxx CloudIntegrationInterface = &interfaceType
  6541  
  6542  			return &xxx, nil
  6543  		case "CloudGcpVmsIntegration":
  6544  			var interfaceType CloudGcpVmsIntegration
  6545  			err = json.Unmarshal(b, &interfaceType)
  6546  			if err != nil {
  6547  				return nil, err
  6548  			}
  6549  
  6550  			var xxx CloudIntegrationInterface = &interfaceType
  6551  
  6552  			return &xxx, nil
  6553  		case "CloudGcpVpcaccessIntegration":
  6554  			var interfaceType CloudGcpVpcaccessIntegration
  6555  			err = json.Unmarshal(b, &interfaceType)
  6556  			if err != nil {
  6557  				return nil, err
  6558  			}
  6559  
  6560  			var xxx CloudIntegrationInterface = &interfaceType
  6561  
  6562  			return &xxx, nil
  6563  		case "CloudHealthIntegration":
  6564  			var interfaceType CloudHealthIntegration
  6565  			err = json.Unmarshal(b, &interfaceType)
  6566  			if err != nil {
  6567  				return nil, err
  6568  			}
  6569  
  6570  			var xxx CloudIntegrationInterface = &interfaceType
  6571  
  6572  			return &xxx, nil
  6573  		case "CloudIamIntegration":
  6574  			var interfaceType CloudIamIntegration
  6575  			err = json.Unmarshal(b, &interfaceType)
  6576  			if err != nil {
  6577  				return nil, err
  6578  			}
  6579  
  6580  			var xxx CloudIntegrationInterface = &interfaceType
  6581  
  6582  			return &xxx, nil
  6583  		case "CloudIotIntegration":
  6584  			var interfaceType CloudIotIntegration
  6585  			err = json.Unmarshal(b, &interfaceType)
  6586  			if err != nil {
  6587  				return nil, err
  6588  			}
  6589  
  6590  			var xxx CloudIntegrationInterface = &interfaceType
  6591  
  6592  			return &xxx, nil
  6593  		case "CloudKinesisFirehoseIntegration":
  6594  			var interfaceType CloudKinesisFirehoseIntegration
  6595  			err = json.Unmarshal(b, &interfaceType)
  6596  			if err != nil {
  6597  				return nil, err
  6598  			}
  6599  
  6600  			var xxx CloudIntegrationInterface = &interfaceType
  6601  
  6602  			return &xxx, nil
  6603  		case "CloudKinesisIntegration":
  6604  			var interfaceType CloudKinesisIntegration
  6605  			err = json.Unmarshal(b, &interfaceType)
  6606  			if err != nil {
  6607  				return nil, err
  6608  			}
  6609  
  6610  			var xxx CloudIntegrationInterface = &interfaceType
  6611  
  6612  			return &xxx, nil
  6613  		case "CloudLambdaIntegration":
  6614  			var interfaceType CloudLambdaIntegration
  6615  			err = json.Unmarshal(b, &interfaceType)
  6616  			if err != nil {
  6617  				return nil, err
  6618  			}
  6619  
  6620  			var xxx CloudIntegrationInterface = &interfaceType
  6621  
  6622  			return &xxx, nil
  6623  		case "CloudRdsIntegration":
  6624  			var interfaceType CloudRdsIntegration
  6625  			err = json.Unmarshal(b, &interfaceType)
  6626  			if err != nil {
  6627  				return nil, err
  6628  			}
  6629  
  6630  			var xxx CloudIntegrationInterface = &interfaceType
  6631  
  6632  			return &xxx, nil
  6633  		case "CloudRedshiftIntegration":
  6634  			var interfaceType CloudRedshiftIntegration
  6635  			err = json.Unmarshal(b, &interfaceType)
  6636  			if err != nil {
  6637  				return nil, err
  6638  			}
  6639  
  6640  			var xxx CloudIntegrationInterface = &interfaceType
  6641  
  6642  			return &xxx, nil
  6643  		case "CloudRoute53Integration":
  6644  			var interfaceType CloudRoute53Integration
  6645  			err = json.Unmarshal(b, &interfaceType)
  6646  			if err != nil {
  6647  				return nil, err
  6648  			}
  6649  
  6650  			var xxx CloudIntegrationInterface = &interfaceType
  6651  
  6652  			return &xxx, nil
  6653  		case "CloudS3Integration":
  6654  			var interfaceType CloudS3Integration
  6655  			err = json.Unmarshal(b, &interfaceType)
  6656  			if err != nil {
  6657  				return nil, err
  6658  			}
  6659  
  6660  			var xxx CloudIntegrationInterface = &interfaceType
  6661  
  6662  			return &xxx, nil
  6663  		case "CloudSesIntegration":
  6664  			var interfaceType CloudSesIntegration
  6665  			err = json.Unmarshal(b, &interfaceType)
  6666  			if err != nil {
  6667  				return nil, err
  6668  			}
  6669  
  6670  			var xxx CloudIntegrationInterface = &interfaceType
  6671  
  6672  			return &xxx, nil
  6673  		case "CloudSnsIntegration":
  6674  			var interfaceType CloudSnsIntegration
  6675  			err = json.Unmarshal(b, &interfaceType)
  6676  			if err != nil {
  6677  				return nil, err
  6678  			}
  6679  
  6680  			var xxx CloudIntegrationInterface = &interfaceType
  6681  
  6682  			return &xxx, nil
  6683  		case "CloudSqsIntegration":
  6684  			var interfaceType CloudSqsIntegration
  6685  			err = json.Unmarshal(b, &interfaceType)
  6686  			if err != nil {
  6687  				return nil, err
  6688  			}
  6689  
  6690  			var xxx CloudIntegrationInterface = &interfaceType
  6691  
  6692  			return &xxx, nil
  6693  		case "CloudTrustedadvisorIntegration":
  6694  			var interfaceType CloudTrustedadvisorIntegration
  6695  			err = json.Unmarshal(b, &interfaceType)
  6696  			if err != nil {
  6697  				return nil, err
  6698  			}
  6699  
  6700  			var xxx CloudIntegrationInterface = &interfaceType
  6701  
  6702  			return &xxx, nil
  6703  		case "CloudVpcIntegration":
  6704  			var interfaceType CloudVpcIntegration
  6705  			err = json.Unmarshal(b, &interfaceType)
  6706  			if err != nil {
  6707  				return nil, err
  6708  			}
  6709  
  6710  			var xxx CloudIntegrationInterface = &interfaceType
  6711  
  6712  			return &xxx, nil
  6713  		}
  6714  	} else {
  6715  		keys := []string{}
  6716  		for k := range rawMessageCloudIntegration {
  6717  			keys = append(keys, k)
  6718  		}
  6719  		return nil, fmt.Errorf("interface CloudIntegration did not include a __typename field for inspection: %s", keys)
  6720  	}
  6721  
  6722  	return nil, fmt.Errorf("interface CloudIntegration was not matched against all PossibleTypes: %s", typeName)
  6723  }
  6724  
  6725  // CloudProvider - A cloud services provider.
  6726  type CloudProviderInterface interface {
  6727  	ImplementsCloudProvider()
  6728  }
  6729  
  6730  // UnmarshalCloudProviderInterface unmarshals the interface into the correct type
  6731  // based on __typename provided by GraphQL
  6732  func UnmarshalCloudProviderInterface(b []byte) (*CloudProviderInterface, error) {
  6733  	var err error
  6734  
  6735  	var rawMessageCloudProvider map[string]*json.RawMessage
  6736  	err = json.Unmarshal(b, &rawMessageCloudProvider)
  6737  	if err != nil {
  6738  		return nil, err
  6739  	}
  6740  
  6741  	// Nothing to unmarshal
  6742  	if len(rawMessageCloudProvider) < 1 {
  6743  		return nil, nil
  6744  	}
  6745  
  6746  	var typeName string
  6747  
  6748  	if rawTypeName, ok := rawMessageCloudProvider["__typename"]; ok {
  6749  		err = json.Unmarshal(*rawTypeName, &typeName)
  6750  		if err != nil {
  6751  			return nil, err
  6752  		}
  6753  
  6754  		switch typeName {
  6755  		case "CloudAwsGovCloudProvider":
  6756  			var interfaceType CloudAwsGovCloudProvider
  6757  			err = json.Unmarshal(b, &interfaceType)
  6758  			if err != nil {
  6759  				return nil, err
  6760  			}
  6761  
  6762  			var xxx CloudProviderInterface = &interfaceType
  6763  
  6764  			return &xxx, nil
  6765  		case "CloudAwsProvider":
  6766  			var interfaceType CloudAwsProvider
  6767  			err = json.Unmarshal(b, &interfaceType)
  6768  			if err != nil {
  6769  				return nil, err
  6770  			}
  6771  
  6772  			var xxx CloudProviderInterface = &interfaceType
  6773  
  6774  			return &xxx, nil
  6775  		case "CloudBaseProvider":
  6776  			var interfaceType CloudBaseProvider
  6777  			err = json.Unmarshal(b, &interfaceType)
  6778  			if err != nil {
  6779  				return nil, err
  6780  			}
  6781  
  6782  			var xxx CloudProviderInterface = &interfaceType
  6783  
  6784  			return &xxx, nil
  6785  		case "CloudGcpProvider":
  6786  			var interfaceType CloudGcpProvider
  6787  			err = json.Unmarshal(b, &interfaceType)
  6788  			if err != nil {
  6789  				return nil, err
  6790  			}
  6791  
  6792  			var xxx CloudProviderInterface = &interfaceType
  6793  
  6794  			return &xxx, nil
  6795  		}
  6796  	} else {
  6797  		keys := []string{}
  6798  		for k := range rawMessageCloudProvider {
  6799  			keys = append(keys, k)
  6800  		}
  6801  		return nil, fmt.Errorf("interface CloudProvider did not include a __typename field for inspection: %s", keys)
  6802  	}
  6803  
  6804  	return nil, fmt.Errorf("interface CloudProvider was not matched against all PossibleTypes: %s", typeName)
  6805  }