@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
TypeScript
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>[]>;
}