diff --git a/provider/cmd/pulumi-resource-newrelic/schema.json b/provider/cmd/pulumi-resource-newrelic/schema.json index 8b0ca9f0..342054f6 100644 --- a/provider/cmd/pulumi-resource-newrelic/schema.json +++ b/provider/cmd/pulumi-resource-newrelic/schema.json @@ -7211,6 +7211,10 @@ }, "newrelic:index/OneDashboardVariableOption:OneDashboardVariableOption": { "properties": { + "excluded": { + "type": "boolean", + "description": "(Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`.\n" + }, "ignoreTimeRange": { "type": "boolean", "description": "(Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages.\n" @@ -9886,7 +9890,8 @@ }, "applicationId": { "type": "string", - "description": "Application ID of the App.\n" + "description": "Application ID of the App.\n", + "secret": true }, "clientSecret": { "type": "string", @@ -9895,15 +9900,17 @@ }, "name": { "type": "string", - "description": "Name of the linked account\n" + "description": "The name of the application in New Relic APM.\n" }, "subscriptionId": { "type": "string", - "description": "Subscription ID of the Azure cloud account.\n" + "description": "Subscription ID of the Azure cloud account.\n", + "secret": true }, "tenantId": { "type": "string", - "description": "Tenant ID of the Azure cloud account.\n" + "description": "Tenant ID of the Azure cloud account.\n", + "secret": true } }, "required": [ @@ -9923,27 +9930,26 @@ "applicationId": { "type": "string", "description": "Application ID of the App.\n", - "willReplaceOnChanges": true + "secret": true }, "clientSecret": { "type": "string", "description": "Secret Value of the client.\n", - "secret": true, - "willReplaceOnChanges": true + "secret": true }, "name": { "type": "string", - "description": "Name of the linked account\n" + "description": "The name of the application in New Relic APM.\n" }, "subscriptionId": { "type": "string", "description": "Subscription ID of the Azure cloud account.\n", - "willReplaceOnChanges": true + "secret": true }, "tenantId": { "type": "string", "description": "Tenant ID of the Azure cloud account.\n", - "willReplaceOnChanges": true + "secret": true } }, "requiredInputs": [ @@ -9963,27 +9969,26 @@ "applicationId": { "type": "string", "description": "Application ID of the App.\n", - "willReplaceOnChanges": true + "secret": true }, "clientSecret": { "type": "string", "description": "Secret Value of the client.\n", - "secret": true, - "willReplaceOnChanges": true + "secret": true }, "name": { "type": "string", - "description": "Name of the linked account\n" + "description": "The name of the application in New Relic APM.\n" }, "subscriptionId": { "type": "string", "description": "Subscription ID of the Azure cloud account.\n", - "willReplaceOnChanges": true + "secret": true }, "tenantId": { "type": "string", "description": "Tenant ID of the Azure cloud account.\n", - "willReplaceOnChanges": true + "secret": true } }, "type": "object" @@ -11471,7 +11476,7 @@ } }, "newrelic:index/group:Group": { - "description": "The `newrelic.Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = newrelic.getAuthenticationDomain({\n name: \"Test Authentication Domain\",\n});\nconst fooGroup = new newrelic.Group(\"foo\", {\n name: \"Test Group\",\n authenticationDomainId: foo.then(foo =\u003e foo.id),\n userIds: [\n \"0001112222\",\n \"2221110000\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.get_authentication_domain(name=\"Test Authentication Domain\")\nfoo_group = newrelic.Group(\"foo\",\n name=\"Test Group\",\n authentication_domain_id=foo.id,\n user_ids=[\n \"0001112222\",\n \"2221110000\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = NewRelic.GetAuthenticationDomain.Invoke(new()\n {\n Name = \"Test Authentication Domain\",\n });\n\n var fooGroup = new NewRelic.Group(\"foo\", new()\n {\n Name = \"Test Group\",\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n UserIds = new[]\n {\n \"0001112222\",\n \"2221110000\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := newrelic.GetAuthenticationDomain(ctx, \u0026newrelic.GetAuthenticationDomainArgs{\n\t\t\tName: \"Test Authentication Domain\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = newrelic.NewGroup(ctx, \"foo\", \u0026newrelic.GroupArgs{\n\t\t\tName: pulumi.String(\"Test Group\"),\n\t\t\tAuthenticationDomainId: pulumi.String(foo.Id),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"0001112222\"),\n\t\t\t\tpulumi.String(\"2221110000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.NewrelicFunctions;\nimport com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;\nimport com.pulumi.newrelic.Group;\nimport com.pulumi.newrelic.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()\n .name(\"Test Authentication Domain\")\n .build());\n\n var fooGroup = new Group(\"fooGroup\", GroupArgs.builder()\n .name(\"Test Group\")\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .userIds( \n \"0001112222\",\n \"2221110000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: newrelic:Group\n name: foo\n properties:\n name: Test Group\n authenticationDomainId: ${foo.id}\n userIds:\n - '0001112222'\n - '2221110000'\nvariables:\n foo:\n fn::invoke:\n Function: newrelic:getAuthenticationDomain\n Arguments:\n name: Test Authentication Domain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Additional Examples\n\n### Addition of New Users to a New Group\n\nThe following example illustrates the creation of a group using the `newrelic.Group` resource, to which users created using the `newrelic.User` resource are added.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = newrelic.getAuthenticationDomain({\n name: \"Test Authentication Domain\",\n});\nconst fooUser = new newrelic.User(\"foo\", {\n name: \"Test User One\",\n emailId: \"test_user_one@test.com\",\n authenticationDomainId: foo.then(foo =\u003e foo.id),\n userType: \"CORE_USER_TIER\",\n});\nconst bar = new newrelic.User(\"bar\", {\n name: \"Test User Two\",\n emailId: \"test_user_two@test.com\",\n authenticationDomainId: foo.then(foo =\u003e foo.id),\n userType: \"BASIC_USER_TIER\",\n});\nconst fooGroup = new newrelic.Group(\"foo\", {\n name: \"Test Group\",\n authenticationDomainId: foo.then(foo =\u003e foo.id),\n userIds: [\n fooUser.id,\n bar.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.get_authentication_domain(name=\"Test Authentication Domain\")\nfoo_user = newrelic.User(\"foo\",\n name=\"Test User One\",\n email_id=\"test_user_one@test.com\",\n authentication_domain_id=foo.id,\n user_type=\"CORE_USER_TIER\")\nbar = newrelic.User(\"bar\",\n name=\"Test User Two\",\n email_id=\"test_user_two@test.com\",\n authentication_domain_id=foo.id,\n user_type=\"BASIC_USER_TIER\")\nfoo_group = newrelic.Group(\"foo\",\n name=\"Test Group\",\n authentication_domain_id=foo.id,\n user_ids=[\n foo_user.id,\n bar.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = NewRelic.GetAuthenticationDomain.Invoke(new()\n {\n Name = \"Test Authentication Domain\",\n });\n\n var fooUser = new NewRelic.User(\"foo\", new()\n {\n Name = \"Test User One\",\n EmailId = \"test_user_one@test.com\",\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n UserType = \"CORE_USER_TIER\",\n });\n\n var bar = new NewRelic.User(\"bar\", new()\n {\n Name = \"Test User Two\",\n EmailId = \"test_user_two@test.com\",\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n UserType = \"BASIC_USER_TIER\",\n });\n\n var fooGroup = new NewRelic.Group(\"foo\", new()\n {\n Name = \"Test Group\",\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n UserIds = new[]\n {\n fooUser.Id,\n bar.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := newrelic.GetAuthenticationDomain(ctx, \u0026newrelic.GetAuthenticationDomainArgs{\n\t\t\tName: \"Test Authentication Domain\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUser, err := newrelic.NewUser(ctx, \"foo\", \u0026newrelic.UserArgs{\n\t\t\tName: pulumi.String(\"Test User One\"),\n\t\t\tEmailId: pulumi.String(\"test_user_one@test.com\"),\n\t\t\tAuthenticationDomainId: pulumi.String(foo.Id),\n\t\t\tUserType: pulumi.String(\"CORE_USER_TIER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := newrelic.NewUser(ctx, \"bar\", \u0026newrelic.UserArgs{\n\t\t\tName: pulumi.String(\"Test User Two\"),\n\t\t\tEmailId: pulumi.String(\"test_user_two@test.com\"),\n\t\t\tAuthenticationDomainId: pulumi.String(foo.Id),\n\t\t\tUserType: pulumi.String(\"BASIC_USER_TIER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = newrelic.NewGroup(ctx, \"foo\", \u0026newrelic.GroupArgs{\n\t\t\tName: pulumi.String(\"Test Group\"),\n\t\t\tAuthenticationDomainId: pulumi.String(foo.Id),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tfooUser.ID(),\n\t\t\t\tbar.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.NewrelicFunctions;\nimport com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;\nimport com.pulumi.newrelic.User;\nimport com.pulumi.newrelic.UserArgs;\nimport com.pulumi.newrelic.Group;\nimport com.pulumi.newrelic.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()\n .name(\"Test Authentication Domain\")\n .build());\n\n var fooUser = new User(\"fooUser\", UserArgs.builder()\n .name(\"Test User One\")\n .emailId(\"test_user_one@test.com\")\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .userType(\"CORE_USER_TIER\")\n .build());\n\n var bar = new User(\"bar\", UserArgs.builder()\n .name(\"Test User Two\")\n .emailId(\"test_user_two@test.com\")\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .userType(\"BASIC_USER_TIER\")\n .build());\n\n var fooGroup = new Group(\"fooGroup\", GroupArgs.builder()\n .name(\"Test Group\")\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .userIds( \n fooUser.id(),\n bar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooUser:\n type: newrelic:User\n name: foo\n properties:\n name: Test User One\n emailId: test_user_one@test.com\n authenticationDomainId: ${foo.id}\n userType: CORE_USER_TIER\n bar:\n type: newrelic:User\n properties:\n name: Test User Two\n emailId: test_user_two@test.com\n authenticationDomainId: ${foo.id}\n userType: BASIC_USER_TIER\n fooGroup:\n type: newrelic:Group\n name: foo\n properties:\n name: Test Group\n authenticationDomainId: ${foo.id}\n userIds:\n - ${fooUser.id}\n - ${bar.id}\nvariables:\n foo:\n fn::invoke:\n Function: newrelic:getAuthenticationDomain\n Arguments:\n name: Test Authentication Domain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Addition of Existing Users to a New Group\n\nThe following example demonstrates the usage of the `newrelic.Group` resource to create a group, wherein the `newrelic.User` data source is employed to associate existing users with the newly formed group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = newrelic.getAuthenticationDomain({\n name: \"Test Authentication Domain\",\n});\nconst fooGetUser = foo.then(foo =\u003e newrelic.getUser({\n authenticationDomainId: foo.id,\n emailId: \"test_user_one@test.com\",\n}));\nconst bar = foo.then(foo =\u003e newrelic.getUser({\n authenticationDomainId: foo.id,\n name: \"Test User Two\",\n}));\nconst fooGroup = new newrelic.Group(\"foo\", {\n name: \"Test Group\",\n authenticationDomainId: foo.then(foo =\u003e foo.id),\n userIds: [\n fooGetUser.then(fooGetUser =\u003e fooGetUser.id),\n bar.then(bar =\u003e bar.id),\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.get_authentication_domain(name=\"Test Authentication Domain\")\nfoo_get_user = newrelic.get_user(authentication_domain_id=foo.id,\n email_id=\"test_user_one@test.com\")\nbar = newrelic.get_user(authentication_domain_id=foo.id,\n name=\"Test User Two\")\nfoo_group = newrelic.Group(\"foo\",\n name=\"Test Group\",\n authentication_domain_id=foo.id,\n user_ids=[\n foo_get_user.id,\n bar.id,\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = NewRelic.GetAuthenticationDomain.Invoke(new()\n {\n Name = \"Test Authentication Domain\",\n });\n\n var fooGetUser = NewRelic.GetUser.Invoke(new()\n {\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n EmailId = \"test_user_one@test.com\",\n });\n\n var bar = NewRelic.GetUser.Invoke(new()\n {\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n Name = \"Test User Two\",\n });\n\n var fooGroup = new NewRelic.Group(\"foo\", new()\n {\n Name = \"Test Group\",\n AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult =\u003e getAuthenticationDomainResult.Id),\n UserIds = new[]\n {\n fooGetUser.Apply(getUserResult =\u003e getUserResult.Id),\n bar.Apply(getUserResult =\u003e getUserResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := newrelic.GetAuthenticationDomain(ctx, \u0026newrelic.GetAuthenticationDomainArgs{\n\t\t\tName: \"Test Authentication Domain\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooGetUser, err := newrelic.LookupUser(ctx, \u0026newrelic.LookupUserArgs{\n\t\t\tAuthenticationDomainId: foo.Id,\n\t\t\tEmailId: pulumi.StringRef(\"test_user_one@test.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := newrelic.LookupUser(ctx, \u0026newrelic.LookupUserArgs{\n\t\t\tAuthenticationDomainId: foo.Id,\n\t\t\tName: pulumi.StringRef(\"Test User Two\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = newrelic.NewGroup(ctx, \"foo\", \u0026newrelic.GroupArgs{\n\t\t\tName: pulumi.String(\"Test Group\"),\n\t\t\tAuthenticationDomainId: pulumi.String(foo.Id),\n\t\t\tUserIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(fooGetUser.Id),\n\t\t\t\tpulumi.String(bar.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.NewrelicFunctions;\nimport com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;\nimport com.pulumi.newrelic.inputs.GetUserArgs;\nimport com.pulumi.newrelic.Group;\nimport com.pulumi.newrelic.GroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()\n .name(\"Test Authentication Domain\")\n .build());\n\n final var fooGetUser = NewrelicFunctions.getUser(GetUserArgs.builder()\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .emailId(\"test_user_one@test.com\")\n .build());\n\n final var bar = NewrelicFunctions.getUser(GetUserArgs.builder()\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .name(\"Test User Two\")\n .build());\n\n var fooGroup = new Group(\"fooGroup\", GroupArgs.builder()\n .name(\"Test Group\")\n .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -\u003e getAuthenticationDomainResult.id()))\n .userIds( \n fooGetUser.applyValue(getUserResult -\u003e getUserResult.id()),\n bar.applyValue(getUserResult -\u003e getUserResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: newrelic:Group\n name: foo\n properties:\n name: Test Group\n authenticationDomainId: ${foo.id}\n userIds:\n - ${fooGetUser.id}\n - ${bar.id}\nvariables:\n foo:\n fn::invoke:\n Function: newrelic:getAuthenticationDomain\n Arguments:\n name: Test Authentication Domain\n fooGetUser:\n fn::invoke:\n Function: newrelic:getUser\n Arguments:\n authenticationDomainId: ${foo.id}\n emailId: test_user_one@test.com\n bar:\n fn::invoke:\n Function: newrelic:getUser\n Arguments:\n authenticationDomainId: ${foo.id}\n name: Test User Two\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown.\n\n## Import\n\nA group can be imported using its ID. Example:\n\n```sh\n$ pulumi import newrelic:index/group:Group foo \u003cgroup_id\u003e\n```\n\n", + "description": "\n\n## Import\n\nA group can be imported using its ID. Example:\n\n```sh\n$ pulumi import newrelic:index/group:Group foo \u003cgroup_id\u003e\n```\n\n", "properties": { "authenticationDomainId": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index ce0b64ce..2efcce49 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -165,7 +165,7 @@ require ( github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/newrelic/go-insights v1.0.3 // indirect - github.com/newrelic/newrelic-client-go/v2 v2.47.0 // indirect + github.com/newrelic/newrelic-client-go/v2 v2.50.1 // indirect github.com/nxadm/tail v1.4.11 // indirect github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 6c5ca72b..3050b03b 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1923,8 +1923,8 @@ github.com/newrelic/go-agent/v3 v3.30.0 h1:ZXHCT/Cot4iIPwcegCZURuRQOsfmGA6wilW+S github.com/newrelic/go-agent/v3 v3.30.0/go.mod h1:9utrgxlSryNqRrTvII2XBL+0lpofXbqXApvVWPpbzUg= github.com/newrelic/go-insights v1.0.3 h1:zSNp1CEZnXktzSIEsbHJk8v6ZihdPFP2WsO/fzau3OQ= github.com/newrelic/go-insights v1.0.3/go.mod h1:A20BoT8TNkqPGX2nS/Z2fYmKl3Cqa3iKZd4whzedCY4= -github.com/newrelic/newrelic-client-go/v2 v2.47.0 h1:4+Q4ynp1lHm2t8OopQ6lmac+dJD0E3AvbHQAuSW7+ws= -github.com/newrelic/newrelic-client-go/v2 v2.47.0/go.mod h1:pDFY24/6iIMEbPIdowTRrRn9YYwkXc3j+B+XpTb4oF4= +github.com/newrelic/newrelic-client-go/v2 v2.50.1 h1:xwRjfxXO1ZvQc4mvy52lNm60jsx4/YtIBxx9mvw7u38= +github.com/newrelic/newrelic-client-go/v2 v2.50.1/go.mod h1:+RRjI3nDGWT3kLm9Oi3QxpBm70uu8q1upEHBVWCZFpo= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= diff --git a/sdk/dotnet/Cloud/AzureLinkAccount.cs b/sdk/dotnet/Cloud/AzureLinkAccount.cs index cee7379f..d9c4425a 100644 --- a/sdk/dotnet/Cloud/AzureLinkAccount.cs +++ b/sdk/dotnet/Cloud/AzureLinkAccount.cs @@ -77,7 +77,7 @@ public partial class AzureLinkAccount : global::Pulumi.CustomResource public Output ClientSecret { get; private set; } = null!; /// - /// Name of the linked account + /// The name of the application in New Relic APM. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -119,7 +119,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, AdditionalSecretOutputs = { + "applicationId", "clientSecret", + "subscriptionId", + "tenantId", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -150,11 +153,21 @@ public sealed class AzureLinkAccountArgs : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("applicationId", required: true)] + private Input? _applicationId; + /// /// Application ID of the App. /// - [Input("applicationId", required: true)] - public Input ApplicationId { get; set; } = null!; + public Input? ApplicationId + { + get => _applicationId; + set + { + var emptySecret = Output.CreateSecret(0); + _applicationId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } [Input("clientSecret", required: true)] private Input? _clientSecret; @@ -173,22 +186,42 @@ public Input? ClientSecret } /// - /// Name of the linked account + /// The name of the application in New Relic APM. /// [Input("name")] public Input? Name { get; set; } + [Input("subscriptionId", required: true)] + private Input? _subscriptionId; + /// /// Subscription ID of the Azure cloud account. /// - [Input("subscriptionId", required: true)] - public Input SubscriptionId { get; set; } = null!; + public Input? SubscriptionId + { + get => _subscriptionId; + set + { + var emptySecret = Output.CreateSecret(0); + _subscriptionId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("tenantId", required: true)] + private Input? _tenantId; /// /// Tenant ID of the Azure cloud account. /// - [Input("tenantId", required: true)] - public Input TenantId { get; set; } = null!; + public Input? TenantId + { + get => _tenantId; + set + { + var emptySecret = Output.CreateSecret(0); + _tenantId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } public AzureLinkAccountArgs() { @@ -204,11 +237,21 @@ public sealed class AzureLinkAccountState : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("applicationId")] + private Input? _applicationId; + /// /// Application ID of the App. /// - [Input("applicationId")] - public Input? ApplicationId { get; set; } + public Input? ApplicationId + { + get => _applicationId; + set + { + var emptySecret = Output.CreateSecret(0); + _applicationId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } [Input("clientSecret")] private Input? _clientSecret; @@ -227,22 +270,42 @@ public Input? ClientSecret } /// - /// Name of the linked account + /// The name of the application in New Relic APM. /// [Input("name")] public Input? Name { get; set; } + [Input("subscriptionId")] + private Input? _subscriptionId; + /// /// Subscription ID of the Azure cloud account. /// - [Input("subscriptionId")] - public Input? SubscriptionId { get; set; } + public Input? SubscriptionId + { + get => _subscriptionId; + set + { + var emptySecret = Output.CreateSecret(0); + _subscriptionId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("tenantId")] + private Input? _tenantId; /// /// Tenant ID of the Azure cloud account. /// - [Input("tenantId")] - public Input? TenantId { get; set; } + public Input? TenantId + { + get => _tenantId; + set + { + var emptySecret = Output.CreateSecret(0); + _tenantId = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } public AzureLinkAccountState() { diff --git a/sdk/dotnet/Group.cs b/sdk/dotnet/Group.cs index f7f09a0b..a8a6b200 100644 --- a/sdk/dotnet/Group.cs +++ b/sdk/dotnet/Group.cs @@ -10,131 +10,6 @@ namespace Pulumi.NewRelic { /// - /// The `newrelic.Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using NewRelic = Pulumi.NewRelic; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var foo = NewRelic.GetAuthenticationDomain.Invoke(new() - /// { - /// Name = "Test Authentication Domain", - /// }); - /// - /// var fooGroup = new NewRelic.Group("foo", new() - /// { - /// Name = "Test Group", - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// UserIds = new[] - /// { - /// "0001112222", - /// "2221110000", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ## Additional Examples - /// - /// ### Addition of New Users to a New Group - /// - /// The following example illustrates the creation of a group using the `newrelic.Group` resource, to which users created using the `newrelic.User` resource are added. - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using NewRelic = Pulumi.NewRelic; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var foo = NewRelic.GetAuthenticationDomain.Invoke(new() - /// { - /// Name = "Test Authentication Domain", - /// }); - /// - /// var fooUser = new NewRelic.User("foo", new() - /// { - /// Name = "Test User One", - /// EmailId = "test_user_one@test.com", - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// UserType = "CORE_USER_TIER", - /// }); - /// - /// var bar = new NewRelic.User("bar", new() - /// { - /// Name = "Test User Two", - /// EmailId = "test_user_two@test.com", - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// UserType = "BASIC_USER_TIER", - /// }); - /// - /// var fooGroup = new NewRelic.Group("foo", new() - /// { - /// Name = "Test Group", - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// UserIds = new[] - /// { - /// fooUser.Id, - /// bar.Id, - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ### Addition of Existing Users to a New Group - /// - /// The following example demonstrates the usage of the `newrelic.Group` resource to create a group, wherein the `newrelic.User` data source is employed to associate existing users with the newly formed group. - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using NewRelic = Pulumi.NewRelic; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var foo = NewRelic.GetAuthenticationDomain.Invoke(new() - /// { - /// Name = "Test Authentication Domain", - /// }); - /// - /// var fooGetUser = NewRelic.GetUser.Invoke(new() - /// { - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// EmailId = "test_user_one@test.com", - /// }); - /// - /// var bar = NewRelic.GetUser.Invoke(new() - /// { - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// Name = "Test User Two", - /// }); - /// - /// var fooGroup = new NewRelic.Group("foo", new() - /// { - /// Name = "Test Group", - /// AuthenticationDomainId = foo.Apply(getAuthenticationDomainResult => getAuthenticationDomainResult.Id), - /// UserIds = new[] - /// { - /// fooGetUser.Apply(getUserResult => getUserResult.Id), - /// bar.Apply(getUserResult => getUserResult.Id), - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. - /// /// ## Import /// /// A group can be imported using its ID. Example: diff --git a/sdk/dotnet/Inputs/OneDashboardVariableOptionArgs.cs b/sdk/dotnet/Inputs/OneDashboardVariableOptionArgs.cs index 249da38d..36a4cadf 100644 --- a/sdk/dotnet/Inputs/OneDashboardVariableOptionArgs.cs +++ b/sdk/dotnet/Inputs/OneDashboardVariableOptionArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.NewRelic.Inputs public sealed class OneDashboardVariableOptionArgs : global::Pulumi.ResourceArgs { + /// + /// (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + /// + [Input("excluded")] + public Input? Excluded { get; set; } + /// /// (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. /// diff --git a/sdk/dotnet/Inputs/OneDashboardVariableOptionGetArgs.cs b/sdk/dotnet/Inputs/OneDashboardVariableOptionGetArgs.cs index b7dd054d..39ef663d 100644 --- a/sdk/dotnet/Inputs/OneDashboardVariableOptionGetArgs.cs +++ b/sdk/dotnet/Inputs/OneDashboardVariableOptionGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.NewRelic.Inputs public sealed class OneDashboardVariableOptionGetArgs : global::Pulumi.ResourceArgs { + /// + /// (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + /// + [Input("excluded")] + public Input? Excluded { get; set; } + /// /// (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. /// diff --git a/sdk/dotnet/Outputs/OneDashboardVariableOption.cs b/sdk/dotnet/Outputs/OneDashboardVariableOption.cs index a751151d..608c88f0 100644 --- a/sdk/dotnet/Outputs/OneDashboardVariableOption.cs +++ b/sdk/dotnet/Outputs/OneDashboardVariableOption.cs @@ -13,14 +13,22 @@ namespace Pulumi.NewRelic.Outputs [OutputType] public sealed class OneDashboardVariableOption { + /// + /// (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + /// + public readonly bool? Excluded; /// /// (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. /// public readonly bool? IgnoreTimeRange; [OutputConstructor] - private OneDashboardVariableOption(bool? ignoreTimeRange) + private OneDashboardVariableOption( + bool? excluded, + + bool? ignoreTimeRange) { + Excluded = excluded; IgnoreTimeRange = ignoreTimeRange; } } diff --git a/sdk/go/newrelic/cloud/azureLinkAccount.go b/sdk/go/newrelic/cloud/azureLinkAccount.go index ab8894f7..6be9dc95 100644 --- a/sdk/go/newrelic/cloud/azureLinkAccount.go +++ b/sdk/go/newrelic/cloud/azureLinkAccount.go @@ -73,7 +73,7 @@ type AzureLinkAccount struct { ApplicationId pulumi.StringOutput `pulumi:"applicationId"` // Secret Value of the client. ClientSecret pulumi.StringOutput `pulumi:"clientSecret"` - // Name of the linked account + // The name of the application in New Relic APM. Name pulumi.StringOutput `pulumi:"name"` // Subscription ID of the Azure cloud account. SubscriptionId pulumi.StringOutput `pulumi:"subscriptionId"` @@ -100,11 +100,23 @@ func NewAzureLinkAccount(ctx *pulumi.Context, if args.TenantId == nil { return nil, errors.New("invalid value for required argument 'TenantId'") } + if args.ApplicationId != nil { + args.ApplicationId = pulumi.ToSecret(args.ApplicationId).(pulumi.StringInput) + } if args.ClientSecret != nil { args.ClientSecret = pulumi.ToSecret(args.ClientSecret).(pulumi.StringInput) } + if args.SubscriptionId != nil { + args.SubscriptionId = pulumi.ToSecret(args.SubscriptionId).(pulumi.StringInput) + } + if args.TenantId != nil { + args.TenantId = pulumi.ToSecret(args.TenantId).(pulumi.StringInput) + } secrets := pulumi.AdditionalSecretOutputs([]string{ + "applicationId", "clientSecret", + "subscriptionId", + "tenantId", }) opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) @@ -136,7 +148,7 @@ type azureLinkAccountState struct { ApplicationId *string `pulumi:"applicationId"` // Secret Value of the client. ClientSecret *string `pulumi:"clientSecret"` - // Name of the linked account + // The name of the application in New Relic APM. Name *string `pulumi:"name"` // Subscription ID of the Azure cloud account. SubscriptionId *string `pulumi:"subscriptionId"` @@ -151,7 +163,7 @@ type AzureLinkAccountState struct { ApplicationId pulumi.StringPtrInput // Secret Value of the client. ClientSecret pulumi.StringPtrInput - // Name of the linked account + // The name of the application in New Relic APM. Name pulumi.StringPtrInput // Subscription ID of the Azure cloud account. SubscriptionId pulumi.StringPtrInput @@ -170,7 +182,7 @@ type azureLinkAccountArgs struct { ApplicationId string `pulumi:"applicationId"` // Secret Value of the client. ClientSecret string `pulumi:"clientSecret"` - // Name of the linked account + // The name of the application in New Relic APM. Name *string `pulumi:"name"` // Subscription ID of the Azure cloud account. SubscriptionId string `pulumi:"subscriptionId"` @@ -186,7 +198,7 @@ type AzureLinkAccountArgs struct { ApplicationId pulumi.StringInput // Secret Value of the client. ClientSecret pulumi.StringInput - // Name of the linked account + // The name of the application in New Relic APM. Name pulumi.StringPtrInput // Subscription ID of the Azure cloud account. SubscriptionId pulumi.StringInput @@ -296,7 +308,7 @@ func (o AzureLinkAccountOutput) ClientSecret() pulumi.StringOutput { return o.ApplyT(func(v *AzureLinkAccount) pulumi.StringOutput { return v.ClientSecret }).(pulumi.StringOutput) } -// Name of the linked account +// The name of the application in New Relic APM. func (o AzureLinkAccountOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *AzureLinkAccount) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/newrelic/group.go b/sdk/go/newrelic/group.go index c911f919..696cbafe 100644 --- a/sdk/go/newrelic/group.go +++ b/sdk/go/newrelic/group.go @@ -12,159 +12,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// The `Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := newrelic.GetAuthenticationDomain(ctx, &newrelic.GetAuthenticationDomainArgs{ -// Name: "Test Authentication Domain", -// }, nil) -// if err != nil { -// return err -// } -// _, err = newrelic.NewGroup(ctx, "foo", &newrelic.GroupArgs{ -// Name: pulumi.String("Test Group"), -// AuthenticationDomainId: pulumi.String(foo.Id), -// UserIds: pulumi.StringArray{ -// pulumi.String("0001112222"), -// pulumi.String("2221110000"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Additional Examples -// -// ### Addition of New Users to a New Group -// -// The following example illustrates the creation of a group using the `Group` resource, to which users created using the `User` resource are added. -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := newrelic.GetAuthenticationDomain(ctx, &newrelic.GetAuthenticationDomainArgs{ -// Name: "Test Authentication Domain", -// }, nil) -// if err != nil { -// return err -// } -// fooUser, err := newrelic.NewUser(ctx, "foo", &newrelic.UserArgs{ -// Name: pulumi.String("Test User One"), -// EmailId: pulumi.String("test_user_one@test.com"), -// AuthenticationDomainId: pulumi.String(foo.Id), -// UserType: pulumi.String("CORE_USER_TIER"), -// }) -// if err != nil { -// return err -// } -// bar, err := newrelic.NewUser(ctx, "bar", &newrelic.UserArgs{ -// Name: pulumi.String("Test User Two"), -// EmailId: pulumi.String("test_user_two@test.com"), -// AuthenticationDomainId: pulumi.String(foo.Id), -// UserType: pulumi.String("BASIC_USER_TIER"), -// }) -// if err != nil { -// return err -// } -// _, err = newrelic.NewGroup(ctx, "foo", &newrelic.GroupArgs{ -// Name: pulumi.String("Test Group"), -// AuthenticationDomainId: pulumi.String(foo.Id), -// UserIds: pulumi.StringArray{ -// fooUser.ID(), -// bar.ID(), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ### Addition of Existing Users to a New Group -// -// The following example demonstrates the usage of the `Group` resource to create a group, wherein the `User` data source is employed to associate existing users with the newly formed group. -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := newrelic.GetAuthenticationDomain(ctx, &newrelic.GetAuthenticationDomainArgs{ -// Name: "Test Authentication Domain", -// }, nil) -// if err != nil { -// return err -// } -// fooGetUser, err := newrelic.LookupUser(ctx, &newrelic.LookupUserArgs{ -// AuthenticationDomainId: foo.Id, -// EmailId: pulumi.StringRef("test_user_one@test.com"), -// }, nil) -// if err != nil { -// return err -// } -// bar, err := newrelic.LookupUser(ctx, &newrelic.LookupUserArgs{ -// AuthenticationDomainId: foo.Id, -// Name: pulumi.StringRef("Test User Two"), -// }, nil) -// if err != nil { -// return err -// } -// _, err = newrelic.NewGroup(ctx, "foo", &newrelic.GroupArgs{ -// Name: pulumi.String("Test Group"), -// AuthenticationDomainId: pulumi.String(foo.Id), -// UserIds: pulumi.StringArray{ -// pulumi.String(fooGetUser.Id), -// pulumi.String(bar.Id), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. -// // ## Import // // A group can be imported using its ID. Example: diff --git a/sdk/go/newrelic/pulumiTypes.go b/sdk/go/newrelic/pulumiTypes.go index 5df01d91..f4145351 100644 --- a/sdk/go/newrelic/pulumiTypes.go +++ b/sdk/go/newrelic/pulumiTypes.go @@ -23233,6 +23233,8 @@ func (o OneDashboardVariableNrqlQueryPtrOutput) Query() pulumi.StringPtrOutput { } type OneDashboardVariableOption struct { + // (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + Excluded *bool `pulumi:"excluded"` // (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. IgnoreTimeRange *bool `pulumi:"ignoreTimeRange"` } @@ -23249,6 +23251,8 @@ type OneDashboardVariableOptionInput interface { } type OneDashboardVariableOptionArgs struct { + // (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + Excluded pulumi.BoolPtrInput `pulumi:"excluded"` // (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. IgnoreTimeRange pulumi.BoolPtrInput `pulumi:"ignoreTimeRange"` } @@ -23304,6 +23308,11 @@ func (o OneDashboardVariableOptionOutput) ToOneDashboardVariableOptionOutputWith return o } +// (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. +func (o OneDashboardVariableOptionOutput) Excluded() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OneDashboardVariableOption) *bool { return v.Excluded }).(pulumi.BoolPtrOutput) +} + // (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. func (o OneDashboardVariableOptionOutput) IgnoreTimeRange() pulumi.BoolPtrOutput { return o.ApplyT(func(v OneDashboardVariableOption) *bool { return v.IgnoreTimeRange }).(pulumi.BoolPtrOutput) diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/Group.java b/sdk/java/src/main/java/com/pulumi/newrelic/Group.java index 355b2eef..6d4c6e92 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/Group.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/Group.java @@ -16,178 +16,6 @@ import javax.annotation.Nullable; /** - * The `newrelic.Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.newrelic.NewrelicFunctions;
- * import com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;
- * import com.pulumi.newrelic.Group;
- * import com.pulumi.newrelic.GroupArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App {
- *     public static void main(String[] args) {
- *         Pulumi.run(App::stack);
- *     }
- * 
- *     public static void stack(Context ctx) {
- *         final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()
- *             .name("Test Authentication Domain")
- *             .build());
- * 
- *         var fooGroup = new Group("fooGroup", GroupArgs.builder()
- *             .name("Test Group")
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .userIds(            
- *                 "0001112222",
- *                 "2221110000")
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ## Additional Examples - * - * ### Addition of New Users to a New Group - * - * The following example illustrates the creation of a group using the `newrelic.Group` resource, to which users created using the `newrelic.User` resource are added. - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.newrelic.NewrelicFunctions;
- * import com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;
- * import com.pulumi.newrelic.User;
- * import com.pulumi.newrelic.UserArgs;
- * import com.pulumi.newrelic.Group;
- * import com.pulumi.newrelic.GroupArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App }{{@code
- *     public static void main(String[] args) }{{@code
- *         Pulumi.run(App::stack);
- *     }}{@code
- * 
- *     public static void stack(Context ctx) }{{@code
- *         final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()
- *             .name("Test Authentication Domain")
- *             .build());
- * 
- *         var fooUser = new User("fooUser", UserArgs.builder()
- *             .name("Test User One")
- *             .emailId("test_user_one}{@literal @}{@code test.com")
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .userType("CORE_USER_TIER")
- *             .build());
- * 
- *         var bar = new User("bar", UserArgs.builder()
- *             .name("Test User Two")
- *             .emailId("test_user_two}{@literal @}{@code test.com")
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .userType("BASIC_USER_TIER")
- *             .build());
- * 
- *         var fooGroup = new Group("fooGroup", GroupArgs.builder()
- *             .name("Test Group")
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .userIds(            
- *                 fooUser.id(),
- *                 bar.id())
- *             .build());
- * 
- *     }}{@code
- * }}{@code
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * ### Addition of Existing Users to a New Group - * - * The following example demonstrates the usage of the `newrelic.Group` resource to create a group, wherein the `newrelic.User` data source is employed to associate existing users with the newly formed group. - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.newrelic.NewrelicFunctions;
- * import com.pulumi.newrelic.inputs.GetAuthenticationDomainArgs;
- * import com.pulumi.newrelic.inputs.GetUserArgs;
- * import com.pulumi.newrelic.Group;
- * import com.pulumi.newrelic.GroupArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * import java.nio.file.Paths;
- * 
- * public class App }{{@code
- *     public static void main(String[] args) }{{@code
- *         Pulumi.run(App::stack);
- *     }}{@code
- * 
- *     public static void stack(Context ctx) }{{@code
- *         final var foo = NewrelicFunctions.getAuthenticationDomain(GetAuthenticationDomainArgs.builder()
- *             .name("Test Authentication Domain")
- *             .build());
- * 
- *         final var fooGetUser = NewrelicFunctions.getUser(GetUserArgs.builder()
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .emailId("test_user_one}{@literal @}{@code test.com")
- *             .build());
- * 
- *         final var bar = NewrelicFunctions.getUser(GetUserArgs.builder()
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .name("Test User Two")
- *             .build());
- * 
- *         var fooGroup = new Group("fooGroup", GroupArgs.builder()
- *             .name("Test Group")
- *             .authenticationDomainId(foo.applyValue(getAuthenticationDomainResult -> getAuthenticationDomainResult.id()))
- *             .userIds(            
- *                 fooGetUser.applyValue(getUserResult -> getUserResult.id()),
- *                 bar.applyValue(getUserResult -> getUserResult.id()))
- *             .build());
- * 
- *     }}{@code
- * }}{@code
- * }
- * 
- * <!--End PulumiCodeChooser --> - * - * > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. - * * ## Import * * A group can be imported using its ID. Example: diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccount.java b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccount.java index 3b491bbe..01f0e17f 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccount.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccount.java @@ -123,14 +123,14 @@ public Output clientSecret() { return this.clientSecret; } /** - * Name of the linked account + * The name of the application in New Relic APM. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return Name of the linked account + * @return The name of the application in New Relic APM. * */ public Output name() { @@ -205,7 +205,10 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( - "clientSecret" + "applicationId", + "clientSecret", + "subscriptionId", + "tenantId" )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccountArgs.java b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccountArgs.java index c2476f33..30a3f397 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/AzureLinkAccountArgs.java @@ -62,14 +62,14 @@ public Output clientSecret() { } /** - * Name of the linked account + * The name of the application in New Relic APM. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the linked account + * @return The name of the application in New Relic APM. * */ public Optional> name() { @@ -199,7 +199,7 @@ public Builder clientSecret(String clientSecret) { } /** - * @param name Name of the linked account + * @param name The name of the application in New Relic APM. * * @return builder * @@ -210,7 +210,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the linked account + * @param name The name of the application in New Relic APM. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/inputs/AzureLinkAccountState.java b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/inputs/AzureLinkAccountState.java index fedc5890..8ee057b2 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/cloud/inputs/AzureLinkAccountState.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/cloud/inputs/AzureLinkAccountState.java @@ -61,14 +61,14 @@ public Optional> clientSecret() { } /** - * Name of the linked account + * The name of the application in New Relic APM. * */ @Import(name="name") private @Nullable Output name; /** - * @return Name of the linked account + * @return The name of the application in New Relic APM. * */ public Optional> name() { @@ -198,7 +198,7 @@ public Builder clientSecret(String clientSecret) { } /** - * @param name Name of the linked account + * @param name The name of the application in New Relic APM. * * @return builder * @@ -209,7 +209,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Name of the linked account + * @param name The name of the application in New Relic APM. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/inputs/OneDashboardVariableOptionArgs.java b/sdk/java/src/main/java/com/pulumi/newrelic/inputs/OneDashboardVariableOptionArgs.java index 9140c7f7..378695b5 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/inputs/OneDashboardVariableOptionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/inputs/OneDashboardVariableOptionArgs.java @@ -15,6 +15,21 @@ public final class OneDashboardVariableOptionArgs extends com.pulumi.resources.R public static final OneDashboardVariableOptionArgs Empty = new OneDashboardVariableOptionArgs(); + /** + * (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + */ + @Import(name="excluded") + private @Nullable Output excluded; + + /** + * @return (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + */ + public Optional> excluded() { + return Optional.ofNullable(this.excluded); + } + /** * (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. * @@ -33,6 +48,7 @@ public Optional> ignoreTimeRange() { private OneDashboardVariableOptionArgs() {} private OneDashboardVariableOptionArgs(OneDashboardVariableOptionArgs $) { + this.excluded = $.excluded; this.ignoreTimeRange = $.ignoreTimeRange; } @@ -54,6 +70,27 @@ public Builder(OneDashboardVariableOptionArgs defaults) { $ = new OneDashboardVariableOptionArgs(Objects.requireNonNull(defaults)); } + /** + * @param excluded (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + * @return builder + * + */ + public Builder excluded(@Nullable Output excluded) { + $.excluded = excluded; + return this; + } + + /** + * @param excluded (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + * @return builder + * + */ + public Builder excluded(Boolean excluded) { + return excluded(Output.of(excluded)); + } + /** * @param ignoreTimeRange (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/outputs/OneDashboardVariableOption.java b/sdk/java/src/main/java/com/pulumi/newrelic/outputs/OneDashboardVariableOption.java index fc24743b..a173641c 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/outputs/OneDashboardVariableOption.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/outputs/OneDashboardVariableOption.java @@ -11,6 +11,11 @@ @CustomType public final class OneDashboardVariableOption { + /** + * @return (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + */ + private @Nullable Boolean excluded; /** * @return (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. * @@ -18,6 +23,13 @@ public final class OneDashboardVariableOption { private @Nullable Boolean ignoreTimeRange; private OneDashboardVariableOption() {} + /** + * @return (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + * + */ + public Optional excluded() { + return Optional.ofNullable(this.excluded); + } /** * @return (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. * @@ -35,13 +47,21 @@ public static Builder builder(OneDashboardVariableOption defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Boolean excluded; private @Nullable Boolean ignoreTimeRange; public Builder() {} public Builder(OneDashboardVariableOption defaults) { Objects.requireNonNull(defaults); + this.excluded = defaults.excluded; this.ignoreTimeRange = defaults.ignoreTimeRange; } + @CustomType.Setter + public Builder excluded(@Nullable Boolean excluded) { + + this.excluded = excluded; + return this; + } @CustomType.Setter public Builder ignoreTimeRange(@Nullable Boolean ignoreTimeRange) { @@ -50,6 +70,7 @@ public Builder ignoreTimeRange(@Nullable Boolean ignoreTimeRange) { } public OneDashboardVariableOption build() { final var _resultValue = new OneDashboardVariableOption(); + _resultValue.excluded = excluded; _resultValue.ignoreTimeRange = ignoreTimeRange; return _resultValue; } diff --git a/sdk/nodejs/cloud/azureLinkAccount.ts b/sdk/nodejs/cloud/azureLinkAccount.ts index 139e2c1a..e3a4cb14 100644 --- a/sdk/nodejs/cloud/azureLinkAccount.ts +++ b/sdk/nodejs/cloud/azureLinkAccount.ts @@ -84,7 +84,7 @@ export class AzureLinkAccount extends pulumi.CustomResource { */ public readonly clientSecret!: pulumi.Output; /** - * Name of the linked account + * The name of the application in New Relic APM. */ public readonly name!: pulumi.Output; /** @@ -130,14 +130,14 @@ export class AzureLinkAccount extends pulumi.CustomResource { throw new Error("Missing required property 'tenantId'"); } resourceInputs["accountId"] = args ? args.accountId : undefined; - resourceInputs["applicationId"] = args ? args.applicationId : undefined; + resourceInputs["applicationId"] = args?.applicationId ? pulumi.secret(args.applicationId) : undefined; resourceInputs["clientSecret"] = args?.clientSecret ? pulumi.secret(args.clientSecret) : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["subscriptionId"] = args ? args.subscriptionId : undefined; - resourceInputs["tenantId"] = args ? args.tenantId : undefined; + resourceInputs["subscriptionId"] = args?.subscriptionId ? pulumi.secret(args.subscriptionId) : undefined; + resourceInputs["tenantId"] = args?.tenantId ? pulumi.secret(args.tenantId) : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const secretOpts = { additionalSecretOutputs: ["clientSecret"] }; + const secretOpts = { additionalSecretOutputs: ["applicationId", "clientSecret", "subscriptionId", "tenantId"] }; opts = pulumi.mergeOptions(opts, secretOpts); super(AzureLinkAccount.__pulumiType, name, resourceInputs, opts); } @@ -160,7 +160,7 @@ export interface AzureLinkAccountState { */ clientSecret?: pulumi.Input; /** - * Name of the linked account + * The name of the application in New Relic APM. */ name?: pulumi.Input; /** @@ -190,7 +190,7 @@ export interface AzureLinkAccountArgs { */ clientSecret: pulumi.Input; /** - * Name of the linked account + * The name of the application in New Relic APM. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/group.ts b/sdk/nodejs/group.ts index 6917a052..6bf7fb7d 100644 --- a/sdk/nodejs/group.ts +++ b/sdk/nodejs/group.ts @@ -5,93 +5,6 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * The `newrelic.Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as newrelic from "@pulumi/newrelic"; - * - * const foo = newrelic.getAuthenticationDomain({ - * name: "Test Authentication Domain", - * }); - * const fooGroup = new newrelic.Group("foo", { - * name: "Test Group", - * authenticationDomainId: foo.then(foo => foo.id), - * userIds: [ - * "0001112222", - * "2221110000", - * ], - * }); - * ``` - * - * ## Additional Examples - * - * ### Addition of New Users to a New Group - * - * The following example illustrates the creation of a group using the `newrelic.Group` resource, to which users created using the `newrelic.User` resource are added. - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as newrelic from "@pulumi/newrelic"; - * - * const foo = newrelic.getAuthenticationDomain({ - * name: "Test Authentication Domain", - * }); - * const fooUser = new newrelic.User("foo", { - * name: "Test User One", - * emailId: "test_user_one@test.com", - * authenticationDomainId: foo.then(foo => foo.id), - * userType: "CORE_USER_TIER", - * }); - * const bar = new newrelic.User("bar", { - * name: "Test User Two", - * emailId: "test_user_two@test.com", - * authenticationDomainId: foo.then(foo => foo.id), - * userType: "BASIC_USER_TIER", - * }); - * const fooGroup = new newrelic.Group("foo", { - * name: "Test Group", - * authenticationDomainId: foo.then(foo => foo.id), - * userIds: [ - * fooUser.id, - * bar.id, - * ], - * }); - * ``` - * - * ### Addition of Existing Users to a New Group - * - * The following example demonstrates the usage of the `newrelic.Group` resource to create a group, wherein the `newrelic.User` data source is employed to associate existing users with the newly formed group. - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as newrelic from "@pulumi/newrelic"; - * - * const foo = newrelic.getAuthenticationDomain({ - * name: "Test Authentication Domain", - * }); - * const fooGetUser = foo.then(foo => newrelic.getUser({ - * authenticationDomainId: foo.id, - * emailId: "test_user_one@test.com", - * })); - * const bar = foo.then(foo => newrelic.getUser({ - * authenticationDomainId: foo.id, - * name: "Test User Two", - * })); - * const fooGroup = new newrelic.Group("foo", { - * name: "Test Group", - * authenticationDomainId: foo.then(foo => foo.id), - * userIds: [ - * fooGetUser.then(fooGetUser => fooGetUser.id), - * bar.then(bar => bar.id), - * ], - * }); - * ``` - * - * > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. - * * ## Import * * A group can be imported using its ID. Example: diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index c5e58dcf..efc3e716 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -3282,6 +3282,10 @@ export interface OneDashboardVariableNrqlQuery { } export interface OneDashboardVariableOption { + /** + * (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + */ + excluded?: pulumi.Input; /** * (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 4530a60a..e529e843 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -3335,6 +3335,10 @@ export interface OneDashboardVariableNrqlQuery { } export interface OneDashboardVariableOption { + /** + * (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + */ + excluded?: boolean; /** * (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. */ diff --git a/sdk/python/pulumi_newrelic/_inputs.py b/sdk/python/pulumi_newrelic/_inputs.py index 2e75b2bc..8ab4e8a4 100644 --- a/sdk/python/pulumi_newrelic/_inputs.py +++ b/sdk/python/pulumi_newrelic/_inputs.py @@ -16057,6 +16057,10 @@ def account_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] if not MYPY: class OneDashboardVariableOptionArgsDict(TypedDict): + excluded: NotRequired[pulumi.Input[bool]] + """ + (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + """ ignore_time_range: NotRequired[pulumi.Input[bool]] """ (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. @@ -16067,13 +16071,29 @@ class OneDashboardVariableOptionArgsDict(TypedDict): @pulumi.input_type class OneDashboardVariableOptionArgs: def __init__(__self__, *, + excluded: Optional[pulumi.Input[bool]] = None, ignore_time_range: Optional[pulumi.Input[bool]] = None): """ + :param pulumi.Input[bool] excluded: (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. :param pulumi.Input[bool] ignore_time_range: (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. """ + if excluded is not None: + pulumi.set(__self__, "excluded", excluded) if ignore_time_range is not None: pulumi.set(__self__, "ignore_time_range", ignore_time_range) + @property + @pulumi.getter + def excluded(self) -> Optional[pulumi.Input[bool]]: + """ + (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + """ + return pulumi.get(self, "excluded") + + @excluded.setter + def excluded(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "excluded", value) + @property @pulumi.getter(name="ignoreTimeRange") def ignore_time_range(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/pulumi_newrelic/cloud/azure_link_account.py b/sdk/python/pulumi_newrelic/cloud/azure_link_account.py index 06e91377..97dc8e6d 100644 --- a/sdk/python/pulumi_newrelic/cloud/azure_link_account.py +++ b/sdk/python/pulumi_newrelic/cloud/azure_link_account.py @@ -32,7 +32,7 @@ def __init__(__self__, *, :param pulumi.Input[str] subscription_id: Subscription ID of the Azure cloud account. :param pulumi.Input[str] tenant_id: Tenant ID of the Azure cloud account. :param pulumi.Input[str] account_id: Account ID of the New Relic. - :param pulumi.Input[str] name: Name of the linked account + :param pulumi.Input[str] name: The name of the application in New Relic APM. """ pulumi.set(__self__, "application_id", application_id) pulumi.set(__self__, "client_secret", client_secret) @@ -107,7 +107,7 @@ def account_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the linked account + The name of the application in New Relic APM. """ return pulumi.get(self, "name") @@ -130,7 +130,7 @@ def __init__(__self__, *, :param pulumi.Input[str] account_id: Account ID of the New Relic. :param pulumi.Input[str] application_id: Application ID of the App. :param pulumi.Input[str] client_secret: Secret Value of the client. - :param pulumi.Input[str] name: Name of the linked account + :param pulumi.Input[str] name: The name of the application in New Relic APM. :param pulumi.Input[str] subscription_id: Subscription ID of the Azure cloud account. :param pulumi.Input[str] tenant_id: Tenant ID of the Azure cloud account. """ @@ -187,7 +187,7 @@ def client_secret(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Name of the linked account + The name of the application in New Relic APM. """ return pulumi.get(self, "name") @@ -275,7 +275,7 @@ def __init__(__self__, :param pulumi.Input[str] account_id: Account ID of the New Relic. :param pulumi.Input[str] application_id: Application ID of the App. :param pulumi.Input[str] client_secret: Secret Value of the client. - :param pulumi.Input[str] name: Name of the linked account + :param pulumi.Input[str] name: The name of the application in New Relic APM. :param pulumi.Input[str] subscription_id: Subscription ID of the Azure cloud account. :param pulumi.Input[str] tenant_id: Tenant ID of the Azure cloud account. """ @@ -356,18 +356,18 @@ def _internal_init(__self__, __props__.__dict__["account_id"] = account_id if application_id is None and not opts.urn: raise TypeError("Missing required property 'application_id'") - __props__.__dict__["application_id"] = application_id + __props__.__dict__["application_id"] = None if application_id is None else pulumi.Output.secret(application_id) if client_secret is None and not opts.urn: raise TypeError("Missing required property 'client_secret'") __props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret) __props__.__dict__["name"] = name if subscription_id is None and not opts.urn: raise TypeError("Missing required property 'subscription_id'") - __props__.__dict__["subscription_id"] = subscription_id + __props__.__dict__["subscription_id"] = None if subscription_id is None else pulumi.Output.secret(subscription_id) if tenant_id is None and not opts.urn: raise TypeError("Missing required property 'tenant_id'") - __props__.__dict__["tenant_id"] = tenant_id - secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"]) + __props__.__dict__["tenant_id"] = None if tenant_id is None else pulumi.Output.secret(tenant_id) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["applicationId", "clientSecret", "subscriptionId", "tenantId"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(AzureLinkAccount, __self__).__init__( 'newrelic:cloud/azureLinkAccount:AzureLinkAccount', @@ -395,7 +395,7 @@ def get(resource_name: str, :param pulumi.Input[str] account_id: Account ID of the New Relic. :param pulumi.Input[str] application_id: Application ID of the App. :param pulumi.Input[str] client_secret: Secret Value of the client. - :param pulumi.Input[str] name: Name of the linked account + :param pulumi.Input[str] name: The name of the application in New Relic APM. :param pulumi.Input[str] subscription_id: Subscription ID of the Azure cloud account. :param pulumi.Input[str] tenant_id: Tenant ID of the Azure cloud account. """ @@ -439,7 +439,7 @@ def client_secret(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of the linked account + The name of the application in New Relic APM. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_newrelic/group.py b/sdk/python/pulumi_newrelic/group.py index b1627b71..fd3050e9 100644 --- a/sdk/python/pulumi_newrelic/group.py +++ b/sdk/python/pulumi_newrelic/group.py @@ -153,78 +153,6 @@ def __init__(__self__, user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ - The `Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. - - ## Example Usage - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - "0001112222", - "2221110000", - ]) - ``` - - ## Additional Examples - - ### Addition of New Users to a New Group - - The following example illustrates the creation of a group using the `Group` resource, to which users created using the `User` resource are added. - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_user = newrelic.User("foo", - name="Test User One", - email_id="test_user_one@test.com", - authentication_domain_id=foo.id, - user_type="CORE_USER_TIER") - bar = newrelic.User("bar", - name="Test User Two", - email_id="test_user_two@test.com", - authentication_domain_id=foo.id, - user_type="BASIC_USER_TIER") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - foo_user.id, - bar.id, - ]) - ``` - - ### Addition of Existing Users to a New Group - - The following example demonstrates the usage of the `Group` resource to create a group, wherein the `User` data source is employed to associate existing users with the newly formed group. - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_get_user = newrelic.get_user(authentication_domain_id=foo.id, - email_id="test_user_one@test.com") - bar = newrelic.get_user(authentication_domain_id=foo.id, - name="Test User Two") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - foo_get_user.id, - bar.id, - ]) - ``` - - > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. - ## Import A group can be imported using its ID. Example: @@ -250,78 +178,6 @@ def __init__(__self__, args: GroupArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - The `Group` resource facilitates creating, updating, and deleting groups in New Relic, while also enabling the addition and removal of users from these groups. - - ## Example Usage - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - "0001112222", - "2221110000", - ]) - ``` - - ## Additional Examples - - ### Addition of New Users to a New Group - - The following example illustrates the creation of a group using the `Group` resource, to which users created using the `User` resource are added. - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_user = newrelic.User("foo", - name="Test User One", - email_id="test_user_one@test.com", - authentication_domain_id=foo.id, - user_type="CORE_USER_TIER") - bar = newrelic.User("bar", - name="Test User Two", - email_id="test_user_two@test.com", - authentication_domain_id=foo.id, - user_type="BASIC_USER_TIER") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - foo_user.id, - bar.id, - ]) - ``` - - ### Addition of Existing Users to a New Group - - The following example demonstrates the usage of the `Group` resource to create a group, wherein the `User` data source is employed to associate existing users with the newly formed group. - - ```python - import pulumi - import pulumi_newrelic as newrelic - - foo = newrelic.get_authentication_domain(name="Test Authentication Domain") - foo_get_user = newrelic.get_user(authentication_domain_id=foo.id, - email_id="test_user_one@test.com") - bar = newrelic.get_user(authentication_domain_id=foo.id, - name="Test User Two") - foo_group = newrelic.Group("foo", - name="Test Group", - authentication_domain_id=foo.id, - user_ids=[ - foo_get_user.id, - bar.id, - ]) - ``` - - > **NOTE** Please note that the addition of users to groups is only possible when both the group and the users to be added to it belong to the _same authentication domain_. If the group being created and the users being added to it belong to different authentication domains, an error indicating `user not found` or an equivalent error will be thrown. - ## Import A group can be imported using its ID. Example: diff --git a/sdk/python/pulumi_newrelic/outputs.py b/sdk/python/pulumi_newrelic/outputs.py index ad2db27c..bcad69a2 100644 --- a/sdk/python/pulumi_newrelic/outputs.py +++ b/sdk/python/pulumi_newrelic/outputs.py @@ -12217,13 +12217,25 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + excluded: Optional[bool] = None, ignore_time_range: Optional[bool] = None): """ + :param bool excluded: (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. :param bool ignore_time_range: (Optional) An argument with a boolean value that is supported only by variables of `type` _nrql_ - when true, the time range specified in the query will override the time picker on dashboards and other pages. """ + if excluded is not None: + pulumi.set(__self__, "excluded", excluded) if ignore_time_range is not None: pulumi.set(__self__, "ignore_time_range", ignore_time_range) + @property + @pulumi.getter + def excluded(self) -> Optional[bool]: + """ + (Optional) An argument with a boolean value. With this turned on, the query condition defined with the variable will not be included in the query. Defaults to `false`. + """ + return pulumi.get(self, "excluded") + @property @pulumi.getter(name="ignoreTimeRange") def ignore_time_range(self) -> Optional[bool]: diff --git a/upstream b/upstream index 33aa8650..bee416b1 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 33aa8650ee9bac915494de144be05859ddb3ba83 +Subproject commit bee416b11d5095b3a3b468e9ac0a752073972fd0