Skip to content

Commit 317b57f

Browse files
author
Jonathan Thurman
authored
Merge pull request #131 from newrelic/jthurman/deps
Update newrelic-client-go 0.16.0
2 parents 12d06ac + 4ee8cea commit 317b57f

File tree

6 files changed

+70
-40
lines changed

6 files changed

+70
-40
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ require (
1414
github.com/jedib0t/go-pretty v4.3.0+incompatible
1515
github.com/llorllale/go-gitlint v0.0.0-20190914155841-58c0b8cef0e5
1616
github.com/mitchellh/go-homedir v1.1.0
17-
github.com/newrelic/newrelic-client-go v0.15.0
17+
github.com/newrelic/newrelic-client-go v0.16.0
1818
github.com/psampaz/go-mod-outdated v0.5.0
1919
github.com/sirupsen/logrus v1.4.2
2020
github.com/spf13/cobra v0.0.6
2121
github.com/spf13/viper v1.6.2
2222
github.com/stretchr/testify v1.5.1
23-
golang.org/x/tools v0.0.0-20200309202150-20ab64c0d93f
23+
golang.org/x/tools v0.0.0-20200311090712-aafaee8bce8c
2424
)

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:
389389
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
390390
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E=
391391
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
392-
github.com/newrelic/newrelic-client-go v0.15.0 h1:FuGsI4gpI/uT7BQ/Q5MTKOQ+S307xejGBR3odvwxvx8=
393-
github.com/newrelic/newrelic-client-go v0.15.0/go.mod h1:t5cDNddE1yqC6ph7VdeRbFoVMZrxY06d0+xseKQozfY=
392+
github.com/newrelic/newrelic-client-go v0.16.0 h1:gNc2rAGIyZ3Nk/MpEGuXfKSaPQ1w7tLhAM9f6IFx8Mw=
393+
github.com/newrelic/newrelic-client-go v0.16.0/go.mod h1:t5cDNddE1yqC6ph7VdeRbFoVMZrxY06d0+xseKQozfY=
394394
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
395395
github.com/olekukonko/tablewriter v0.0.1 h1:b3iUnf1v+ppJiOfNX4yxxqfWKMQPZR5yoh8urCTFX88=
396396
github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
@@ -682,8 +682,8 @@ golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapK
682682
golang.org/x/tools v0.0.0-20200204192400-7124308813f3/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
683683
golang.org/x/tools v0.0.0-20200305224536-de023d59a5d1 h1:A6Mu2vcvuNXbBiGKuVHG74fmEPmzsZ5dzG0WhV2GcqI=
684684
golang.org/x/tools v0.0.0-20200305224536-de023d59a5d1/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
685-
golang.org/x/tools v0.0.0-20200309202150-20ab64c0d93f h1:NbrfHxef+IfdI86qCgO/1Siq1BuMH2xG0NqgvCguRhQ=
686-
golang.org/x/tools v0.0.0-20200309202150-20ab64c0d93f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
685+
golang.org/x/tools v0.0.0-20200311090712-aafaee8bce8c h1:9WR4YuzLDuQMqEmLQrG0DiMmE2/HvX1dlrujzjmNVFg=
686+
golang.org/x/tools v0.0.0-20200311090712-aafaee8bce8c/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
687687
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
688688
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
689689
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/apm/command.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,19 @@ import (
44
"github.com/spf13/cobra"
55
)
66

7+
var (
8+
apmAccountID string
9+
apmAppID int
10+
)
11+
712
// Command represents the apm command
813
var Command = &cobra.Command{
914
Use: "apm",
1015
Short: "Interact with New Relic APM",
1116
}
17+
18+
func init() {
19+
// Flags for all things APM
20+
Command.PersistentFlags().StringVarP(&apmAccountID, "accountId", "a", "", "A New Relic account ID")
21+
Command.PersistentFlags().IntVarP(&apmAppID, "applicationId", "", 0, "A New Relic APM application ID")
22+
}

internal/apm/command_application.go

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ import (
1515
)
1616

1717
var (
18-
appAccountID string
19-
appID int
20-
appName string
21-
appGUID string
18+
appName string
19+
appGUID string
2220
)
2321

2422
// Command represents the apm command
@@ -39,30 +37,45 @@ The search command performs a query for an APM application name and/or account I
3937
Example: "newrelic apm application search --name <appName>",
4038
Run: func(cmd *cobra.Command, args []string) {
4139

42-
if appName == "" && appAccountID == "" {
40+
if appGUID == "" && appName == "" && apmAccountID == "" {
4341
utils.LogIfError(cmd.Help())
44-
log.Fatal("one of --name or --accountId are required")
42+
log.Fatal("one of --accountId, --guid, --name are required")
4543
}
4644

4745
client.WithClient(func(nrClient *newrelic.NewRelic) {
4846
var results []*entities.Entity
4947
var err error
5048

51-
params := entities.SearchEntitiesParams{
52-
Domain: entities.EntityDomainType("APM"),
53-
Type: entities.EntityType("APPLICATION"),
54-
}
49+
// Look for just the GUID if passed in
50+
if appGUID != "" {
51+
if appName != "" || apmAccountID != "" {
52+
log.Warnf("Searching for --guid only, ignoring --accountId and --name")
53+
}
5554

56-
if appName != "" {
57-
params.Name = appName
58-
}
55+
var singleResult *entities.Entity
56+
singleResult, err = nrClient.Entities.GetEntity(appGUID)
57+
utils.LogIfFatal(err)
5958

60-
if appAccountID != "" {
61-
params.Tags = &entities.TagValue{Key: "accountId", Value: appAccountID}
62-
}
59+
if singleResult != nil {
60+
results = append(results, singleResult)
61+
}
62+
} else {
63+
params := entities.SearchEntitiesParams{
64+
Domain: entities.EntityDomainType("APM"),
65+
Type: entities.EntityType("APPLICATION"),
66+
}
6367

64-
results, err = nrClient.Entities.SearchEntities(params)
65-
utils.LogIfFatal(err)
68+
if appName != "" {
69+
params.Name = appName
70+
}
71+
72+
if apmAccountID != "" {
73+
params.Tags = &entities.TagValue{Key: "accountId", Value: apmAccountID}
74+
}
75+
76+
results, err = nrClient.Entities.SearchEntities(params)
77+
utils.LogIfFatal(err)
78+
}
6679

6780
json, err := prettyjson.Marshal(results)
6881
utils.LogIfFatal(err)
@@ -105,12 +118,10 @@ The get command performs a query for an APM application by GUID.
105118
func init() {
106119
Command.AddCommand(cmdApp)
107120

108-
cmdApp.PersistentFlags().IntVarP(&appID, "applicationId", "a", 0, "search for results matching the given APM application ID")
109121
cmdApp.PersistentFlags().StringVarP(&appGUID, "guid", "g", "", "search for results matching the given APM application GUID")
110122

111123
cmdApp.AddCommand(cmdAppGet)
112124

113125
cmdApp.AddCommand(cmdAppSearch)
114126
cmdAppSearch.Flags().StringVarP(&appName, "name", "n", "", "search for results matching the given APM application name")
115-
cmdAppGet.Flags().StringVarP(&appAccountID, "accountId", "", "", "search for results matching the given APM application account ID")
116127
}

internal/apm/command_deployment.go

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55

66
"github.com/hokaccha/go-prettyjson"
7+
log "github.com/sirupsen/logrus"
78
"github.com/spf13/cobra"
89

910
"github.com/newrelic/newrelic-client-go/newrelic"
@@ -39,8 +40,13 @@ The list command returns deployments for a New Relic APM application.
3940
`,
4041
Example: "newrelic apm deployment list --applicationId <appID>",
4142
Run: func(cmd *cobra.Command, args []string) {
43+
if apmAppID == 0 {
44+
utils.LogIfError(cmd.Help())
45+
log.Fatal("--applicationId is required")
46+
}
47+
4248
client.WithClient(func(nrClient *newrelic.NewRelic) {
43-
deployments, err := nrClient.APM.ListDeployments(appID)
49+
deployments, err := nrClient.APM.ListDeployments(apmAppID)
4450
utils.LogIfFatal(err)
4551

4652
json, err := prettyjson.Marshal(deployments)
@@ -61,8 +67,13 @@ application.
6167
`,
6268
Example: "newrelic apm deployment create --applicationId <appID> --revision <deploymentRevision>",
6369
Run: func(cmd *cobra.Command, args []string) {
70+
if apmAppID == 0 {
71+
utils.LogIfError(cmd.Help())
72+
log.Fatal("--applicationId and --revision are required")
73+
}
74+
6475
client.WithClient(func(nrClient *newrelic.NewRelic) {
65-
d, err := nrClient.APM.CreateDeployment(appID, deployment)
76+
d, err := nrClient.APM.CreateDeployment(apmAppID, deployment)
6677
utils.LogIfFatal(err)
6778

6879
json, err := prettyjson.Marshal(d)
@@ -82,8 +93,13 @@ The delete command performs a delete operation for an APM deployment.
8293
`,
8394
Example: "newrelic apm deployment delete --applicationId <appID> --deploymentID <deploymentID>",
8495
Run: func(cmd *cobra.Command, args []string) {
96+
if apmAppID == 0 {
97+
utils.LogIfError(cmd.Help())
98+
log.Fatal("--applicationId is required")
99+
}
100+
85101
client.WithClient(func(nrClient *newrelic.NewRelic) {
86-
d, err := nrClient.APM.DeleteDeployment(appID, deployment.ID)
102+
d, err := nrClient.APM.DeleteDeployment(apmAppID, deployment.ID)
87103
utils.LogIfFatal(err)
88104

89105
json, err := prettyjson.Marshal(d)
@@ -98,24 +114,16 @@ func init() {
98114
Command.AddCommand(cmdDeployment)
99115

100116
cmdDeployment.AddCommand(cmdDeploymentList)
101-
cmdDeploymentList.Flags().IntVarP(&appID, "applicationId", "a", 0, "the application ID to list deployments for")
102-
utils.LogIfError(cmdDeploymentList.MarkFlagRequired("applicationId"))
103117

104118
cmdDeployment.AddCommand(cmdDeploymentCreate)
105119
cmdDeploymentCreate.Flags().StringVarP(&deployment.Description, "description", "", "", "the description stored with the deployment")
106120
cmdDeploymentCreate.Flags().StringVarP(&deployment.User, "user", "", "", "the user creating with the deployment")
107121
cmdDeploymentCreate.Flags().StringVarP(&deployment.Changelog, "change-log", "", "", "the change log stored with the deployment")
108122

109-
cmdDeploymentCreate.Flags().IntVarP(&appID, "applicationId", "a", 0, "the application ID the deployment will be created for")
110-
utils.LogIfError(cmdDeploymentCreate.MarkFlagRequired("applicationId"))
111-
112123
cmdDeploymentCreate.Flags().StringVarP(&deployment.Revision, "revision", "r", "", "a freeform string representing the revision of the deployment")
113124
utils.LogIfError(cmdDeploymentCreate.MarkFlagRequired("revision"))
114125

115126
cmdDeployment.AddCommand(cmdDeploymentDelete)
116-
cmdDeploymentDelete.Flags().IntVarP(&appID, "applicationId", "a", 0, "the application ID the deployment belongs to")
117-
utils.LogIfError(cmdDeploymentDelete.MarkFlagRequired("applicationId"))
118-
119127
cmdDeploymentDelete.Flags().IntVarP(&deployment.ID, "deploymentID", "d", 0, "the ID of the deployment to be deleted")
120128
utils.LogIfError(cmdDeploymentDelete.MarkFlagRequired("deploymentID"))
121129
}

internal/apm/command_deployment_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ func TestApmDeploymentList(t *testing.T) {
2020
assert.Equal(t, "list", cmdDeploymentList.Name())
2121

2222
testcobra.CheckCobraMetadata(t, cmdDeploymentList)
23-
testcobra.CheckCobraRequiredFlags(t, cmdDeploymentList, []string{"applicationId"})
23+
testcobra.CheckCobraRequiredFlags(t, cmdDeploymentList, []string{})
2424
}
2525

2626
func TestApmDeploymentCreate(t *testing.T) {
2727
assert.Equal(t, "create", cmdDeploymentCreate.Name())
2828

2929
testcobra.CheckCobraMetadata(t, cmdDeploymentCreate)
3030
testcobra.CheckCobraRequiredFlags(t, cmdDeploymentCreate,
31-
[]string{"applicationId", "revision"})
31+
[]string{"revision"})
3232

3333
}
3434

@@ -37,5 +37,5 @@ func TestApmDeleteDeployment(t *testing.T) {
3737

3838
testcobra.CheckCobraMetadata(t, cmdDeploymentDelete)
3939
testcobra.CheckCobraRequiredFlags(t, cmdDeploymentDelete,
40-
[]string{"applicationId", "deploymentID"})
40+
[]string{"deploymentID"})
4141
}

0 commit comments

Comments
 (0)