UNPKG

@crowdstrike/pulumi

Version:

A Pulumi package for creating and managing CrowdStrike resources. Based on terraform-provider-crowdstrike: version v0.0.4

203 lines (202 loc) 8.53 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource allows management of an AWS account in Falcon. * * ## API Scopes * * The following API scopes are required: * * - Cloud security AWS registration | Read & Write * - CSPM registration | Read & Write * * ## Import * * A previously registered cloud aws account can be imported by account id. * * ```sh * $ pulumi import crowdstrike:index/cloudAwsAccount:CloudAwsAccount account 12345678910 * ``` */ export declare class CloudAwsAccount extends pulumi.CustomResource { /** * Get an existing CloudAwsAccount 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<pulumi.ID>, state?: CloudAwsAccountState, opts?: pulumi.CustomResourceOptions): CloudAwsAccount; /** * Returns true if the given object is an instance of CloudAwsAccount. 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 CloudAwsAccount; /** * The AWS Account ID */ readonly accountId: pulumi.Output<string>; /** * The AWS account type. Value is 'commercial' for Commercial cloud accounts. For GovCloud environments, value can be either 'commercial' or 'gov' depending on the account type */ readonly accountType: pulumi.Output<string>; readonly assetInventory: pulumi.Output<outputs.CloudAwsAccountAssetInventory>; /** * The name of the CloudTrail S3 bucket used for real-time visibility */ readonly cloudtrailBucketName: pulumi.Output<string>; readonly deploymentMethod: pulumi.Output<string>; readonly dspm: pulumi.Output<outputs.CloudAwsAccountDspm>; /** * The ARN of the IAM role to be used by CrowdStrike Data Security Posture Management */ readonly dspmRoleArn: pulumi.Output<string>; /** * The name of the IAM role to be used by CrowdStrike Data Security Posture Management */ readonly dspmRoleName: pulumi.Output<string>; /** * The ARN of the Amazon EventBridge used by CrowdStrike to forward messages */ readonly eventbusArn: pulumi.Output<string>; /** * The name of the Amazon EventBridge used by CrowdStrike to forward messages */ readonly eventbusName: pulumi.Output<string>; /** * The external ID used to assume the AWS IAM role */ readonly externalId: pulumi.Output<string>; /** * The ARN of the AWS IAM role used to access this AWS account */ readonly iamRoleArn: pulumi.Output<string>; /** * The name of the AWS IAM role used to access this AWS account */ readonly iamRoleName: pulumi.Output<string>; readonly idp: pulumi.Output<outputs.CloudAwsAccountIdp>; /** * The ARN of the intermediate role used to assume the AWS IAM role */ readonly intermediateRoleArn: pulumi.Output<string>; /** * Indicates whether this is the management account (formerly known as the root account) of an AWS Organization */ readonly isOrganizationManagementAccount: pulumi.Output<boolean>; /** * The AWS Organization ID (starts with `o-`). When specified, accounts within the organization will be registered. If `targetOus` is empty, all accounts in the organization will be registered. The `accountId` must be the organization's management account ID. */ readonly organizationId: pulumi.Output<string>; readonly realtimeVisibility: pulumi.Output<outputs.CloudAwsAccountRealtimeVisibility>; readonly sensorManagement: pulumi.Output<outputs.CloudAwsAccountSensorManagement>; /** * The list of target Organizational Units */ readonly targetOuses: pulumi.Output<string[]>; /** * Create a CloudAwsAccount 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: CloudAwsAccountArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CloudAwsAccount resources. */ export interface CloudAwsAccountState { /** * The AWS Account ID */ accountId?: pulumi.Input<string>; /** * The AWS account type. Value is 'commercial' for Commercial cloud accounts. For GovCloud environments, value can be either 'commercial' or 'gov' depending on the account type */ accountType?: pulumi.Input<string>; assetInventory?: pulumi.Input<inputs.CloudAwsAccountAssetInventory>; /** * The name of the CloudTrail S3 bucket used for real-time visibility */ cloudtrailBucketName?: pulumi.Input<string>; deploymentMethod?: pulumi.Input<string>; dspm?: pulumi.Input<inputs.CloudAwsAccountDspm>; /** * The ARN of the IAM role to be used by CrowdStrike Data Security Posture Management */ dspmRoleArn?: pulumi.Input<string>; /** * The name of the IAM role to be used by CrowdStrike Data Security Posture Management */ dspmRoleName?: pulumi.Input<string>; /** * The ARN of the Amazon EventBridge used by CrowdStrike to forward messages */ eventbusArn?: pulumi.Input<string>; /** * The name of the Amazon EventBridge used by CrowdStrike to forward messages */ eventbusName?: pulumi.Input<string>; /** * The external ID used to assume the AWS IAM role */ externalId?: pulumi.Input<string>; /** * The ARN of the AWS IAM role used to access this AWS account */ iamRoleArn?: pulumi.Input<string>; /** * The name of the AWS IAM role used to access this AWS account */ iamRoleName?: pulumi.Input<string>; idp?: pulumi.Input<inputs.CloudAwsAccountIdp>; /** * The ARN of the intermediate role used to assume the AWS IAM role */ intermediateRoleArn?: pulumi.Input<string>; /** * Indicates whether this is the management account (formerly known as the root account) of an AWS Organization */ isOrganizationManagementAccount?: pulumi.Input<boolean>; /** * The AWS Organization ID (starts with `o-`). When specified, accounts within the organization will be registered. If `targetOus` is empty, all accounts in the organization will be registered. The `accountId` must be the organization's management account ID. */ organizationId?: pulumi.Input<string>; realtimeVisibility?: pulumi.Input<inputs.CloudAwsAccountRealtimeVisibility>; sensorManagement?: pulumi.Input<inputs.CloudAwsAccountSensorManagement>; /** * The list of target Organizational Units */ targetOuses?: pulumi.Input<pulumi.Input<string>[]>; } /** * The set of arguments for constructing a CloudAwsAccount resource. */ export interface CloudAwsAccountArgs { /** * The AWS Account ID */ accountId: pulumi.Input<string>; /** * The AWS account type. Value is 'commercial' for Commercial cloud accounts. For GovCloud environments, value can be either 'commercial' or 'gov' depending on the account type */ accountType?: pulumi.Input<string>; assetInventory?: pulumi.Input<inputs.CloudAwsAccountAssetInventory>; deploymentMethod?: pulumi.Input<string>; dspm?: pulumi.Input<inputs.CloudAwsAccountDspm>; idp?: pulumi.Input<inputs.CloudAwsAccountIdp>; /** * The AWS Organization ID (starts with `o-`). When specified, accounts within the organization will be registered. If `targetOus` is empty, all accounts in the organization will be registered. The `accountId` must be the organization's management account ID. */ organizationId?: pulumi.Input<string>; realtimeVisibility?: pulumi.Input<inputs.CloudAwsAccountRealtimeVisibility>; sensorManagement?: pulumi.Input<inputs.CloudAwsAccountSensorManagement>; /** * The list of target Organizational Units */ targetOuses?: pulumi.Input<pulumi.Input<string>[]>; }