import * as pulumi from "@pulumi/pulumi"; /** * Use this resource to link an AWS account to New Relic. * * ## Prerequisite * * Setup is required in AWS for this resource to work properly. The New Relic AWS integration can be set up to pull metrics from AWS services or AWS can push metrics to New Relic using CloudWatch Metric Streams. * * Using a metric stream to New Relic is the preferred way to integrate with AWS. Follow the [steps outlined here](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-metric-stream/#set-up-metric-stream) to set up a metric stream. * * To pull data from AWS instead, complete the [steps outlined here](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/get-started/connect-aws-new-relic-infrastructure-monitoring#connect). * * ## Example Usage * * You can also use the full example, including the AWS set up, found in our guides. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const foo = new newrelic.cloud.AwsLinkAccount("foo", { * arn: "arn:aws:service:region:account-id:resource-id", * metricCollectionMode: "PUSH", * name: "account name", * }); * ``` * * ## Import * * Linked AWS accounts can be imported using the `id`, e.g. * * ```sh * $ pulumi import newrelic:cloud/awsLinkAccount:AwsLinkAccount foo * ``` */ export declare class AwsLinkAccount extends pulumi.CustomResource { /** * Get an existing AwsLinkAccount resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: AwsLinkAccountState, opts?: pulumi.CustomResourceOptions): AwsLinkAccount; /** * Returns true if the given object is an instance of AwsLinkAccount. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AwsLinkAccount; /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ readonly accountId: pulumi.Output; /** * The Amazon Resource Name (ARN) of the IAM role. */ readonly arn: pulumi.Output; /** * How metrics will be collected. Use `PUSH` for a metric stream or `PULL` to integrate with individual services. */ readonly metricCollectionMode: pulumi.Output; /** * The linked account name * * > **WARNING:** Starting with v3.27.2 of the New Relic Terraform Provider, updating any of the aforementioned attributes (except `name`) of a `newrelic.cloud.AwsLinkAccount` resource that has been applied would **force a replacement** of the resource (destruction of the resource, followed by the creation of a new resource). Please carefully review the output of `pulumi preview`, which would clearly indicate a replacement of this resource, before performing a `pulumi up`. */ readonly name: pulumi.Output; /** * Create a AwsLinkAccount resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AwsLinkAccountArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AwsLinkAccount resources. */ export interface AwsLinkAccountState { /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ accountId?: pulumi.Input; /** * The Amazon Resource Name (ARN) of the IAM role. */ arn?: pulumi.Input; /** * How metrics will be collected. Use `PUSH` for a metric stream or `PULL` to integrate with individual services. */ metricCollectionMode?: pulumi.Input; /** * The linked account name * * > **WARNING:** Starting with v3.27.2 of the New Relic Terraform Provider, updating any of the aforementioned attributes (except `name`) of a `newrelic.cloud.AwsLinkAccount` resource that has been applied would **force a replacement** of the resource (destruction of the resource, followed by the creation of a new resource). Please carefully review the output of `pulumi preview`, which would clearly indicate a replacement of this resource, before performing a `pulumi up`. */ name?: pulumi.Input; } /** * The set of arguments for constructing a AwsLinkAccount resource. */ export interface AwsLinkAccountArgs { /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ accountId?: pulumi.Input; /** * The Amazon Resource Name (ARN) of the IAM role. */ arn: pulumi.Input; /** * How metrics will be collected. Use `PUSH` for a metric stream or `PULL` to integrate with individual services. */ metricCollectionMode?: pulumi.Input; /** * The linked account name * * > **WARNING:** Starting with v3.27.2 of the New Relic Terraform Provider, updating any of the aforementioned attributes (except `name`) of a `newrelic.cloud.AwsLinkAccount` resource that has been applied would **force a replacement** of the resource (destruction of the resource, followed by the creation of a new resource). Please carefully review the output of `pulumi preview`, which would clearly indicate a replacement of this resource, before performing a `pulumi up`. */ name?: pulumi.Input; } //# sourceMappingURL=awsLinkAccount.d.ts.map