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 } } } } }`