github.com/newrelic/newrelic-client-go@v1.1.0/pkg/nrqldroprules/nrqldroprules_api.go (about)

     1  // Code generated by tutone: DO NOT EDIT
     2  package nrqldroprules
     3  
     4  import "context"
     5  
     6  // Create new drop rule(s).
     7  func (a *Nrqldroprules) NRQLDropRulesCreate(
     8  	accountID int,
     9  	rules []NRQLDropRulesCreateDropRuleInput,
    10  ) (*NRQLDropRulesCreateDropRuleResult, error) {
    11  	return a.NRQLDropRulesCreateWithContext(context.Background(),
    12  		accountID,
    13  		rules,
    14  	)
    15  }
    16  
    17  // Create new drop rule(s).
    18  func (a *Nrqldroprules) NRQLDropRulesCreateWithContext(
    19  	ctx context.Context,
    20  	accountID int,
    21  	rules []NRQLDropRulesCreateDropRuleInput,
    22  ) (*NRQLDropRulesCreateDropRuleResult, error) {
    23  
    24  	resp := NRQLDropRulesCreateQueryResponse{}
    25  	vars := map[string]interface{}{
    26  		"accountId": accountID,
    27  		"rules":     rules,
    28  	}
    29  
    30  	if err := a.client.NerdGraphQueryWithContext(ctx, NRQLDropRulesCreateMutation, vars, &resp); err != nil {
    31  		return nil, err
    32  	}
    33  
    34  	return &resp.NRQLDropRulesCreateDropRuleResult, nil
    35  }
    36  
    37  type NRQLDropRulesCreateQueryResponse struct {
    38  	NRQLDropRulesCreateDropRuleResult NRQLDropRulesCreateDropRuleResult `json:"NRQLDropRulesCreate"`
    39  }
    40  
    41  const NRQLDropRulesCreateMutation = `mutation(
    42  	$accountId: Int!,
    43  	$rules: [NrqlDropRulesCreateDropRuleInput]!,
    44  ) { nrqlDropRulesCreate(
    45  	accountId: $accountId,
    46  	rules: $rules,
    47  ) {
    48  	successes {
    49  		accountId
    50  		action
    51  		createdAt
    52  		createdBy
    53  		description
    54  		id
    55  		nrql
    56  	}
    57  } }`
    58  
    59  // Delete drop rule(s) by id.
    60  func (a *Nrqldroprules) NRQLDropRulesDelete(
    61  	accountID int,
    62  	ruleIds []string,
    63  ) (*NRQLDropRulesDeleteDropRuleResult, error) {
    64  	return a.NRQLDropRulesDeleteWithContext(context.Background(),
    65  		accountID,
    66  		ruleIds,
    67  	)
    68  }
    69  
    70  // Delete drop rule(s) by id.
    71  func (a *Nrqldroprules) NRQLDropRulesDeleteWithContext(
    72  	ctx context.Context,
    73  	accountID int,
    74  	ruleIds []string,
    75  ) (*NRQLDropRulesDeleteDropRuleResult, error) {
    76  
    77  	resp := NRQLDropRulesDeleteQueryResponse{}
    78  	vars := map[string]interface{}{
    79  		"accountId": accountID,
    80  		"ruleIds":   ruleIds,
    81  	}
    82  
    83  	if err := a.client.NerdGraphQueryWithContext(ctx, NRQLDropRulesDeleteMutation, vars, &resp); err != nil {
    84  		return nil, err
    85  	}
    86  
    87  	return &resp.NRQLDropRulesDeleteDropRuleResult, nil
    88  }
    89  
    90  type NRQLDropRulesDeleteQueryResponse struct {
    91  	NRQLDropRulesDeleteDropRuleResult NRQLDropRulesDeleteDropRuleResult `json:"NRQLDropRulesDelete"`
    92  }
    93  
    94  const NRQLDropRulesDeleteMutation = `mutation(
    95  	$accountId: Int!,
    96  	$ruleIds: [ID]!,
    97  ) { nrqlDropRulesDelete(
    98  	accountId: $accountId,
    99  	ruleIds: $ruleIds,
   100  ) {
   101  	successes {
   102  		accountId
   103  		action
   104  		createdAt
   105  		createdBy
   106  		description
   107  		id
   108  		nrql
   109  	}
   110  } }`
   111  
   112  // List the drop rules for the given account
   113  func (a *Nrqldroprules) GetList(
   114  	accountID int,
   115  ) (*NRQLDropRulesListDropRulesResult, error) {
   116  	return a.GetListWithContext(context.Background(),
   117  		accountID,
   118  	)
   119  }
   120  
   121  // List the drop rules for the given account
   122  func (a *Nrqldroprules) GetListWithContext(
   123  	ctx context.Context,
   124  	accountID int,
   125  ) (*NRQLDropRulesListDropRulesResult, error) {
   126  
   127  	resp := listResponse{}
   128  	vars := map[string]interface{}{
   129  		"accountID": accountID,
   130  	}
   131  
   132  	if err := a.client.NerdGraphQueryWithContext(ctx, getListQuery, vars, &resp); err != nil {
   133  		return nil, err
   134  	}
   135  
   136  	return &resp.Actor.Account.NRQLDropRules.List, nil
   137  }
   138  
   139  const getListQuery = `query(
   140  	$accountID: Int!,
   141  ) { actor { account(id: $accountID) { nrqlDropRules { list {
   142  	error {
   143  		description
   144  		reason
   145  	}
   146  	rules {
   147  		accountId
   148  		action
   149  		createdAt
   150  		createdBy
   151  		description
   152  		id
   153  		nrql
   154  	}
   155  } } } } }`