ApiAccessKey

Use this resource to programmatically create and manage the following types of keys:

Please visit the New Relic article ‘Use NerdGraph to manage license keys and User API keys’ for more information.

IMPORTANT! Please be very careful when updating existing newrelic.ApiAccessKey resources as only newrelic_api_access_key.name and newrelic_api_access_key.notes are updatable. All other resource attributes will force a resource recreation which will invalidate the previous API key(s).

Example Usage

using Pulumi;
using NewRelic = Pulumi.NewRelic;

class MyStack : Stack
{
    public MyStack()
    {
        var foobar = new NewRelic.ApiAccessKey("foobar", new NewRelic.ApiAccessKeyArgs
        {
            AccountId = 1234567,
            IngestType = "LICENSE",
            KeyType = "INGEST",
            Notes = "To be used with service X",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-newrelic/sdk/v4/go/newrelic"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := newrelic.NewApiAccessKey(ctx, "foobar", &newrelic.ApiAccessKeyArgs{
			AccountId:  pulumi.Int(1234567),
			IngestType: pulumi.String("LICENSE"),
			KeyType:    pulumi.String("INGEST"),
			Notes:      pulumi.String("To be used with service X"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_newrelic as newrelic

foobar = newrelic.ApiAccessKey("foobar",
    account_id=1234567,
    ingest_type="LICENSE",
    key_type="INGEST",
    notes="To be used with service X")
import * as pulumi from "@pulumi/pulumi";
import * as newrelic from "@pulumi/newrelic";

const foobar = new newrelic.ApiAccessKey("foobar", {
    accountId: 1234567,
    ingestType: "LICENSE",
    keyType: "INGEST",
    notes: "To be used with service X",
});

Create a ApiAccessKey Resource

new ApiAccessKey(name: string, args: ApiAccessKeyArgs, opts?: CustomResourceOptions);
@overload
def ApiAccessKey(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 account_id: Optional[int] = None,
                 ingest_type: Optional[str] = None,
                 key_type: Optional[str] = None,
                 name: Optional[str] = None,
                 notes: Optional[str] = None,
                 user_id: Optional[int] = None)
@overload
def ApiAccessKey(resource_name: str,
                 args: ApiAccessKeyArgs,
                 opts: Optional[ResourceOptions] = None)
func NewApiAccessKey(ctx *Context, name string, args ApiAccessKeyArgs, opts ...ResourceOption) (*ApiAccessKey, error)
public ApiAccessKey(string name, ApiAccessKeyArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ApiAccessKeyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ApiAccessKeyArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ApiAccessKeyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ApiAccessKeyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ApiAccessKey Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The ApiAccessKey resource accepts the following input properties:

AccountId int
The New Relic account ID of the account you wish to create the API access key.
KeyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
IngestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
Name string
The name of the key.
Notes string
Any notes about this ingest key.
UserId int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
AccountId int
The New Relic account ID of the account you wish to create the API access key.
KeyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
IngestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
Name string
The name of the key.
Notes string
Any notes about this ingest key.
UserId int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
accountId number
The New Relic account ID of the account you wish to create the API access key.
keyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
ingestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
name string
The name of the key.
notes string
Any notes about this ingest key.
userId number
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
account_id int
The New Relic account ID of the account you wish to create the API access key.
key_type str
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
ingest_type str
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
name str
The name of the key.
notes str
Any notes about this ingest key.
user_id int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.

Outputs

All input properties are implicitly available as output properties. Additionally, the ApiAccessKey resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
Id string
The provider-assigned unique ID for this managed resource.
Key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
id string
The provider-assigned unique ID for this managed resource.
key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
id str
The provider-assigned unique ID for this managed resource.
key str
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.

Look up an Existing ApiAccessKey Resource

Get an existing ApiAccessKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ApiAccessKeyState, opts?: CustomResourceOptions): ApiAccessKey
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_id: Optional[int] = None,
        ingest_type: Optional[str] = None,
        key: Optional[str] = None,
        key_type: Optional[str] = None,
        name: Optional[str] = None,
        notes: Optional[str] = None,
        user_id: Optional[int] = None) -> ApiAccessKey
func GetApiAccessKey(ctx *Context, name string, id IDInput, state *ApiAccessKeyState, opts ...ResourceOption) (*ApiAccessKey, error)
public static ApiAccessKey Get(string name, Input<string> id, ApiAccessKeyState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AccountId int
The New Relic account ID of the account you wish to create the API access key.
IngestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
Key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
KeyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
Name string
The name of the key.
Notes string
Any notes about this ingest key.
UserId int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
AccountId int
The New Relic account ID of the account you wish to create the API access key.
IngestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
Key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
KeyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
Name string
The name of the key.
Notes string
Any notes about this ingest key.
UserId int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
accountId number
The New Relic account ID of the account you wish to create the API access key.
ingestType string
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
key string
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
keyType string
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
name string
The name of the key.
notes string
Any notes about this ingest key.
userId number
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.
account_id int
The New Relic account ID of the account you wish to create the API access key.
ingest_type str
Required if key_type = INGEST. Valid options are BROWSER or LICENSE, case-sensitive.
key str
The actual API key. This attribute is masked and not be visible in your terminal, CI, etc.
key_type str
What type of API key to create. Valid options are INGEST or USER, case-sensitive.
name str
The name of the key.
notes str
Any notes about this ingest key.
user_id int
Required if key_type = USER. The New Relic user ID yous wish to create the API access key for in an account.

Import

Existing API access keys can be imported using a composite ID of <api_access_key_id>:<key_type>. <key_type> will be either INGEST or USER. For example

 $ pulumi import newrelic:index/apiAccessKey:ApiAccessKey foobar "1234567:INGEST"

Package Details

Repository
https://github.com/pulumi/pulumi-newrelic
License
Apache-2.0
Notes
This Pulumi package is based on the newrelic Terraform Provider.