Public/cspm-registration.ps1
function Edit-FalconHorizonAwsAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:patch')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:patch', Mandatory = $true, Position = 1)] [ValidatePattern('^\d{12}$')] [string] $AccountId, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:patch', Position = 2)] [string] $CloudtrailRegion ) begin { $Fields = @{ AccountId = 'account_id' CloudtrailRegion = 'cloudtrail_region' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Body = @{ resources = @('account_id', 'cloudtrail_region') } } } Invoke-Falcon @Param } } function Edit-FalconHorizonAzureAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-azure/entities/client-id/v1:patch')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/client-id/v1:patch', Mandatory = $true, Position = 1)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $Id, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/default-subscription-id/v1:patch', Mandatory = $true, Position = 1)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $SubscriptionId, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/client-id/v1:patch', Position = 2)] [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/default-subscription-id/v1:patch', Position = 2)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $TenantId ) begin { $Fields = @{ SubscriptionId = 'subscription_id' TenantId = 'tenant-id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('tenant-id', 'id', 'subscription_id') } } Invoke-Falcon @Param } } function Edit-FalconHorizonPolicy { [CmdletBinding(DefaultParameterSetName = '/settings/entities/policy/v1:patch')] param( [Parameter(ParameterSetName = '/settings/entities/policy/v1:patch', Mandatory = $true, Position = 1)] [int32] $PolicyId, [Parameter(ParameterSetName = '/settings/entities/policy/v1:patch', Mandatory = $true, Position = 2)] [boolean] $Enabled, [Parameter(ParameterSetName = '/settings/entities/policy/v1:patch', Mandatory = $true, Position = 3)] [ValidateSet('informational', 'medium', 'high')] [string] $Severity ) begin { $Fields = @{ PolicyId = 'policy_id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Body = @{ resources = @('severity', 'policy_id', 'enabled') } } } Invoke-Falcon @Param } } function Edit-FalconHorizonSchedule { [CmdletBinding(DefaultParameterSetName = '/settings/scan-schedule/v1:post')] param( [Parameter(ParameterSetName = '/settings/scan-schedule/v1:post', Mandatory = $true, Position = 1)] [ValidateSet('aws', 'azure', 'gcp')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/settings/scan-schedule/v1:post', Mandatory = $true, Position = 2)] [ValidateSet('2h', '6h', '12h', '24h')] [string] $ScanSchedule ) begin { $Fields = @{ CloudPlatform = 'cloud_platform' ScanSchedule = 'scan_schedule' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Body = @{ resources = @('cloud_platform', 'scan_schedule') } } } Invoke-Falcon @Param } } function Get-FalconHorizonAwsAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 1)] [ValidatePattern('^\d{12}$')] [array] $Ids, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 2)] [ValidatePattern('^o-[0-9a-z]{10,32}$')] [array] $OrganizationIds, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 3)] [ValidateSet('full', 'dry')] [string] $ScanType, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 4)] [ValidateSet('provisioned', 'operational')] [string] $Status, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 5)] [ValidateSet('organization')] [string] $GroupBy, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 6)] [ValidateRange(1,500)] [int] $Limit, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get', Position = 7)] [int] $Offset, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:get')] [switch] $Total ) begin { $Fields = @{ GroupBy = 'group_by' OrganizationIds = 'organization-ids' ScanType = 'scan-type' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('limit', 'ids', 'organization-ids', 'scan-type', 'offset', 'group_by', 'status') } } Invoke-Falcon @Param } } function Get-FalconHorizonAwsLink { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/console-setup-urls/v1:get')] param() process { Invoke-Falcon -Endpoint $PSCmdlet.ParameterSetName } } function Get-FalconHorizonAzureAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get', Position = 1)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [array] $Ids, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get', Position = 2)] [ValidateSet('full', 'dry')] [string] $ScanType, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get', Position = 3)] [ValidateSet('provisioned', 'operational')] [string] $Status, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get', Position = 4)] [ValidateRange(1,500)] [int] $Limit, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get', Position = 5)] [int] $Offset, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:get')] [switch] $Total ) begin { $Fields = @{ ScanType = 'scan-type' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('scan-type', 'offset', 'ids', 'status', 'limit') } } Invoke-Falcon @Param } } function Get-FalconHorizonIoa { [CmdletBinding(DefaultParameterSetName = '/detects/entities/ioa/v1:get')] param( [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Mandatory = $true, Position = 1)] [ValidateSet('aws','azure')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 2)] [ValidatePattern('^\d{12}$')] [string] $AwsAccountId, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 3)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureSubscriptionId, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 4)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureTenantId, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 5)] [ValidateSet('High','Medium','Informational',IgnoreCase = $false)] [string] $Severity, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 6)] [string] $Region, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 7)] [ValidateSet('ACM','ACR','Any','App Engine','AppService','BigQuery','Cloud Load Balancing', 'Cloud Logging','Cloud SQL','Cloud Storage','CloudFormation','CloudTrail','CloudWatch Logs', 'Cloudfront','Compute Engine','Config','Disk','DynamoDB','EBS','EC2','ECR','EFS','EKS','ELB','EMR', 'Elasticache','GuardDuty','IAM','Identity','KMS','KeyVault','Kinesis','Kubernetes','Lambda', 'LoadBalancer','Monitor','NLB/ALB','NetworkSecurityGroup','PostgreSQL','RDS','Redshift','S3','SES', 'SNS','SQLDatabase','SQLServer','SQS','SSM','Serverless Application Repository','StorageAccount', 'Subscriptions','VPC','VirtualMachine','VirtualNetwork',IgnoreCase = $false)] [string] $Service, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 8)] [ValidateSet('open','closed')] [string] $State, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 9)] [string] $DateTimeSince, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 10)] [ValidateRange(1,5000)] [int] $Limit, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get', Position = 11)] [string] $NextToken, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/detects/entities/ioa/v1:get')] [switch] $Total ) begin { $Fields = @{ AwsAccountId = 'aws_account_id' AzureSubscriptionId = 'azure_subscription_id' AzureTenantId = 'azure_tenant_id' CloudPlatform = 'cloud_provider' DateTimeSince = 'date_time_since' NextToken = 'next_token' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('cloud_provider', 'limit', 'date_time_since', 'azure_tenant_id', 'next_token', 'severity', 'service', 'state', 'region', 'azure_subscription_id', 'aws_account_id') } } Invoke-Falcon @Param } } function Get-FalconHorizonIoaEvent { [CmdletBinding(DefaultParameterSetName = '/ioa/entities/events/v1:get')] param( [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Mandatory = $true, Position = 1)] [ValidateSet('aws', 'azure', 'gcp')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Mandatory = $true, Position = 2)] [ValidatePattern('^\d+$')] [string] $PolicyId, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Position = 3)] [array] $UserIds, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Position = 4)] [string] $AccountId, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Position = 5)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureTenantId, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Position = 6)] [ValidateRange(1,500)] [int] $Limit, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get', Position = 7)] [int] $Offset, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/ioa/entities/events/v1:get')] [switch] $Total ) begin { $Fields = @{ AccountId = 'account_id' AzureTenantId = 'azure_tenant_id' CloudPlatform = 'cloud_provider' PolicyId = 'policy_id' UserIds = 'user_ids' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('cloud_provider', 'limit', 'account_id', 'policy_id', 'offset', 'azure_tenant_id', 'user_ids') } } Invoke-Falcon @Param } } function Get-FalconHorizonIoaUser { [CmdletBinding(DefaultParameterSetName = '/ioa/entities/users/v1:get')] param( [Parameter(ParameterSetName = '/ioa/entities/users/v1:get', Mandatory = $true, Position = 1)] [ValidateSet('aws', 'azure', 'gcp')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/ioa/entities/users/v1:get', Mandatory = $true, Position = 2)] [ValidatePattern('^\d+$')] [string] $PolicyId, [Parameter(ParameterSetName = '/ioa/entities/users/v1:get', Position = 3)] [string] $AccountId, [Parameter(ParameterSetName = '/ioa/entities/users/v1:get', Position = 4)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureTenantId ) begin { $Fields = @{ AccountId = 'account_id' AzureTenantId = 'azure_tenant_id' CloudPlatform = 'cloud_provider' PolicyId = 'policy_id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('cloud_provider', 'policy_id', 'azure_tenant_id', 'account_id') } } Invoke-Falcon @Param } } function Get-FalconHorizonIom { [CmdletBinding(DefaultParameterSetName = '/detects/entities/iom/v1:get')] param( [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Mandatory = $true, Position = 1)] [ValidateSet('aws','azure','gcp')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 2)] [ValidatePattern('^\d{12}$')] [string] $AwsAccountId, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 3)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureSubscriptionId, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 4)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $AzureTenantId, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 5)] [ValidateSet('new','recurring','all')] [string] $Status, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 6)] [string] $Region, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 7)] [ValidateSet('High','Medium','Informational',IgnoreCase = $false)] [string] $Severity, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 8)] [ValidateSet('ACM','ACR','Any','App Engine','AppService','BigQuery','Cloud Load Balancing', 'Cloud Logging','Cloud SQL','Cloud Storage','CloudFormation','CloudTrail','CloudWatch Logs', 'Cloudfront','Compute Engine','Config','Disk','DynamoDB','EBS','EC2','ECR','EFS','EKS','ELB','EMR', 'Elasticache','GuardDuty','IAM','Identity','KMS','KeyVault','Kinesis','Kubernetes','Lambda', 'LoadBalancer','Monitor','NLB/ALB','NetworkSecurityGroup','PostgreSQL','RDS','Redshift','S3','SES', 'SNS','SQLDatabase','SQLServer','SQS','SSM','Serverless Application Repository','StorageAccount', 'Subscriptions','VPC','VirtualMachine','VirtualNetwork',IgnoreCase = $false)] [string] $Service, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 9)] [ValidateRange(1,5000)] [int] $Limit, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get', Position = 10)] [string] $NextToken, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get')] [switch] $All, [Parameter(ParameterSetName = '/detects/entities/iom/v1:get')] [switch] $Total ) begin { $Fields = @{ AwsAccountId = 'aws_account_id' AzureSubscriptionId = 'azure_subscription_id' AzureTenantId = 'azure_tenant_id' CloudPlatform = 'cloud_provider' NextToken = 'next_token' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('cloud_provider', 'limit', 'azure_tenant_id', 'next_token', 'severity', 'service', 'status', 'azure_subscription_id', 'region', 'aws_account_id') } } Invoke-Falcon @Param } } function Get-FalconHorizonPolicy { [CmdletBinding(DefaultParameterSetName = '/settings/entities/policy/v1:get')] param( [Parameter(ParameterSetName = '/settings/entities/policy-details/v1:get', Mandatory = $true, Position = 1)] [ValidatePattern('^\d+$')] [array] $Ids, [Parameter(ParameterSetName = '/settings/entities/policy/v1:get', Position = 1)] [ValidatePattern('^\d+$')] [string] $PolicyId, [Parameter(ParameterSetName = '/settings/entities/policy/v1:get', Position = 2)] [ValidateSet('ACM','ACR','Any','App Engine','AppService','BigQuery','Cloud Load Balancing', 'Cloud Logging','Cloud SQL','Cloud Storage','CloudFormation','CloudTrail','CloudWatch Logs', 'Cloudfront','Compute Engine','Config','Disk','DynamoDB','EBS','EC2','ECR','EFS','EKS','ELB','EMR', 'Elasticache','GuardDuty','IAM','Identity','KMS','KeyVault','Kinesis','Kubernetes','Lambda', 'LoadBalancer','Monitor','NLB/ALB','NetworkSecurityGroup','PostgreSQL','RDS','Redshift','S3','SES', 'SNS','SQLDatabase','SQLServer','SQS','SSM','Serverless Application Repository','StorageAccount', 'Subscriptions','VPC','VirtualMachine','VirtualNetwork',IgnoreCase = $false)] [string] $Service, [Parameter(ParameterSetName = '/settings/entities/policy/v1:get', Position = 3)] [ValidateSet('aws', 'azure', 'gcp')] [string] $CloudPlatform, [Parameter(ParameterSetName = '/settings/entities/policy/v1:get')] [switch] $Detailed ) begin { $Fields = @{ CloudPlatform = 'cloud-platform' PolicyId = 'policy-id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('ids', 'service', 'policy-id', 'cloud-platform') } } Invoke-Falcon @Param } } function Get-FalconHorizonSchedule { [CmdletBinding(DefaultParameterSetName = '/settings/scan-schedule/v1:get')] param( [Parameter(ParameterSetName = '/settings/scan-schedule/v1:get', Position = 1)] [ValidateSet('aws', 'azure', 'gcp')] [array] $CloudPlatform ) begin { $Fields = @{ CloudPlatform = 'cloud-platform' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('cloud-platform') } } Invoke-Falcon @Param } } function New-FalconHorizonAwsAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:post')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:post', Mandatory = $true, Position = 1)] [ValidatePattern('^\d{12}$')] [string] $AccountId, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:post', Position = 2)] [ValidatePattern('^\d{12}$')] [string] $OrganizationId, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:post', Position = 3)] [string] $CloudtrailRegion ) begin { $Fields = @{ AccountId = 'account_id' CloudtrailRegion = 'cloudtrail_region' OrganizationId = 'organization_id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Body = @{ resources = @('cloudtrail_region', 'account_id', 'organization_id') } } } Invoke-Falcon @Param } } function New-FalconHorizonAzureAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:post')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:post', Position = 1)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $SubscriptionId, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:post', Position = 2)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $TenantId ) begin { $Fields = @{ SubscriptionId = 'subscription_id' TenantId = 'tenant_id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Body = @{ resources = @('subscription_id', 'tenant_id') } } } Invoke-Falcon @Param } } function Receive-FalconHorizonAwsScript { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/user-scripts-download/v1:get')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/user-scripts-download/v1:get', Mandatory = $true, Position = 1)] [ValidatePattern('^*\.sh$')] [ValidateScript({ if (Test-Path $_) { throw "An item with the specified name $_ already exists." } else { $true } })] [string] $Path ) process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = $PSBoundParameters Headers = @{ Accept = 'application/octet-stream' } Format = @{ Outfile = 'path' } } Invoke-Falcon @Param } } function Receive-FalconHorizonAzureScript { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-azure/entities/user-scripts-download/v1:get')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/user-scripts-download/v1:get', Mandatory = $true, Position = 1)] [ValidatePattern('^*\.sh$')] [ValidateScript({ if (Test-Path $_) { throw "An item with the specified name $_ already exists." } else { $true } })] [string] $Path, [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/user-scripts-download/v1:get', Position = 2)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [string] $TenantId ) begin { $Fields = @{ TenantId = 'tenant-id' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Headers = @{ Accept = 'application/octet-stream' } Format = @{ Query = @('tenant-id') Outfile = 'path' } } Invoke-Falcon @Param } } function Remove-FalconHorizonAwsAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:delete')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:delete', Position = 1)] [ValidatePattern('^\d{12}$')] [array] $Ids, [Parameter(ParameterSetName = '/cloud-connect-cspm-aws/entities/account/v1:delete', Position = 2)] [ValidatePattern('^o-[0-9a-z]{10,32}$')] [array] $OrganizationIds ) begin { $Fields = @{ OrganizationIds = 'organization-ids' } } process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = Update-FieldName -Fields $Fields -Inputs $PSBoundParameters Format = @{ Query = @('ids', 'organization-ids') } } Invoke-Falcon @Param } } function Remove-FalconHorizonAzureAccount { [CmdletBinding(DefaultParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:delete')] param( [Parameter(ParameterSetName = '/cloud-connect-cspm-azure/entities/account/v1:delete', Mandatory = $true)] [ValidatePattern('^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$')] [array] $Ids ) process { $Param = @{ Command = $MyInvocation.MyCommand.Name Endpoint = $PSCmdlet.ParameterSetName Inputs = $PSBoundParameters Format = @{ Query = @('ids') } } Invoke-Falcon @Param } } |