Host Migration
The Host Migration service collection provides operations for creating and managing device migration jobs in your CrowdStrike Falcon environment. Aggregate host migration and migration data, perform actions on host migrations and migration jobs, retrieve host migration details, get migration destinations, create migrations, and query migration IDs.
| Language | Last Update |
|---|---|
| Python | v1.5.2 |
| PowerShell | v2.2.9 |
| Go | v0.20.0 |
| TypeScript | v0.6.0 |
| Rust | v0.7.0 |
| Ruby | v1.2.0 |
Table of Contents
Section titled “Table of Contents”| Operation | Description |
|---|---|
HostMigrationAggregatesV1aggregate_host_migration | Get host migration aggregates as specified via json in request body. |
MigrationAggregatesV1aggregate_migration | Get migration aggregates as specified via json in request body. |
HostMigrationsActionsV1perform_host_migration_action | Perform an action on host migrations. |
GetHostMigrationsV1get_host_migration_details | Get host migration details. |
GetMigrationDestinationsV1get_migration_destination | Get destinations for a migration. |
MigrationsActionsV1perform_migration_job_action | Perform an action on a migration job. |
GetMigrationsV1get_migration_job_details | Get migration job details. |
CreateMigrationV1create_migration | Create a device migration job. |
GetHostMigrationIDsV1query_host_migration_ids | Query host migration IDs. |
GetMigrationIDsV1query_migration_jobs | Query migration jobs. |
HostMigrationAggregatesV1
Section titled “HostMigrationAggregatesV1”Get host migration aggregates as specified via json in request body.
aggregate_host_migrationParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| body | body | list of dictionaries | Full body payload in JSON format. |
| date_ranges | body | list of dictionaries | Applies to date_range aggregations. Example: [{“from”: “2016-05-28T09:00:31Z”, “to”: “2016-05-30T09:00:31Z”}, {“from”: “2016-06-01T09:00:31Z”, “to”: “2016-06-10T09:00:31Z”}] |
| exclude | body | string | Elements to exclude. |
| field | body | string | The field on which to compute the aggregation. |
| filter | body | string | FQL syntax formatted string to use to filter the results. |
| from | body | integer | Starting position. |
| include | body | string | Elements to include. |
| interval | body | string | Time interval for date histogram aggregations. Valid values: year, month, week, day, hour, minute |
| max_doc_count | body | integer | Only return buckets if values are less than or equal to the value here. |
| min_doc_count | body | integer | Only return buckets if values are greater than or equal to the value here. |
| missing | body | string | Missing is the value to be used when the aggregation field is missing from the object. In other words, the missing parameter defines how documents that are missing a value should be treated. By default they will be ignored, but it is also possible to treat them as if they had a value. |
| name | body | string | Name of the aggregate query, as chosen by the user. Used to identify the results returned to you. |
| q | body | string | Full text search across all metadata fields. |
| ranges | body | list of dictionaries | Applies to range aggregations. Ranges values will depend on field. For example, if max_severity is used, ranges might look like: [{“From”: 0, “To”: 70}, {“From”: 70, “To”: 100}] |
| size | body | integer | The max number of term buckets to be returned. |
| sub_aggregates | body | list of dictionaries | A nested aggregation, such as: [{“name”: “max_first_behavior”, “type”: “max”, “field”: “first_behavior”}]. There is a maximum of 3 nested aggregations per request. |
| sort | body | string | FQL syntax string to sort bucket results. _count - sort by document count. _term - sort by the string value alphabetically. Supports asc and desc using | format. Example: _count|desc |
| time_zone | body | string | Time zone for bucket results. |
| type | body | string | Type of aggregation. Valid values: date_histogram, date_range, terms, range, cardinality, max, min, avg, sum, percentiles |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
extended_bounds = { "max": "string", "min": "string"}
filters_spec = { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string"}
ranges = [ { "from": integer, "to": integer }]
sub_aggregates = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.aggregate_host_migration(date_ranges=date_ranges, exclude="string", extended_bounds=extended_bounds, field="string", filter="string", filters_spec=filters_spec, from=integer, include="string", interval="string", max_doc_count=integer, min_doc_count=integer, missing="string", name="string", percents=["string"], q="string", ranges=ranges, size=integer, sort="string", sub_aggregates=sub_aggregates, time_zone="string", type="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
extended_bounds = { "max": "string", "min": "string"}
filters_spec = { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string"}
ranges = [ { "from": integer, "to": integer }]
sub_aggregates = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.HostMigrationAggregatesV1(date_ranges=date_ranges, exclude="string", extended_bounds=extended_bounds, field="string", filter="string", filters_spec=filters_spec, from=integer, include="string", interval="string", max_doc_count=integer, min_doc_count=integer, missing="string", name="string", percents=["string"], q="string", ranges=ranges, size=integer, sort="string", sub_aggregates=sub_aggregates, time_zone="string", type="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.command("HostMigrationAggregatesV1", body=body_payload)print(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
from := "string" to := "string" exclude := "string" field := "string" filter := "string" from := integer include := "string" interval := "string" max_doc_count := integer min_doc_count := integer missing := "string" name := "string" q := "string" From := integer To := integer size := integer sort := "string" time_zone := "string" type := "string"
response, err := client.HostMigration.HostMigrationAggregatesV1( &host_migration.HostMigrationAggregatesV1Params{ Body: []*models.MsaAggregateQueryRequest{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{}, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{}, Size: &size, Sort: &sort, SubAggregates: []interface{}{}, TimeZone: &time_zone, Type: &type, }, }, TimeZone: &time_zone, Type: &type, }, }, TimeZone: &time_zone, Type: &type, }, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.hostMigrationAggregatesV1( [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [], exclude: "string", extendedBounds: {}, field: "string", filter: "string", filtersSpec: {}, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [], size: integer, sort: "string", subAggregates: [], timeZone: "string", type: "string" }], timeZone: "string", type: "string" }], timeZone: "string", type: "string"}] // body);
console.log(response);use rusty_falcon::apis::host_migration_api::host_migration_aggregates_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaAggregateQueryRequest;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = vec![MsaAggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }];
let response = host_migration_aggregates_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = [Falcon::MsaAggregateQueryRequest.new( date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [], exclude: 'string', extended_bounds: {}, field: 'string', filter: 'string', filters_spec: {}, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [], size: integer, sort: 'string', sub_aggregates: [], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string')]
response = api.host_migration_aggregates_v1(body)
puts responseMigrationAggregatesV1
Section titled “MigrationAggregatesV1”Get migration aggregates as specified via json in request body.
aggregate_migrationParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| body | body | list of dictionaries | Full body payload in JSON format. |
| date_ranges | body | list of dictionaries | Applies to date_range aggregations. Example: [{“from”: “2016-05-28T09:00:31Z”, “to”: “2016-05-30T09:00:31Z”}, {“from”: “2016-06-01T09:00:31Z”, “to”: “2016-06-10T09:00:31Z”}] |
| exclude | body | string | Elements to exclude. |
| field | body | string | The field on which to compute the aggregation. |
| filter | body | string | FQL syntax formatted string to use to filter the results. |
| from | body | integer | Starting position. |
| include | body | string | Elements to include. |
| interval | body | string | Time interval for date histogram aggregations. Valid values: year, month, week, day, hour, minute |
| max_doc_count | body | integer | Only return buckets if values are less than or equal to the value here. |
| min_doc_count | body | integer | Only return buckets if values are greater than or equal to the value here. |
| missing | body | string | Missing is the value to be used when the aggregation field is missing from the object. In other words, the missing parameter defines how documents that are missing a value should be treated. By default they will be ignored, but it is also possible to treat them as if they had a value. |
| name | body | string | Name of the aggregate query, as chosen by the user. Used to identify the results returned to you. |
| q | body | string | Full text search across all metadata fields. |
| ranges | body | list of dictionaries | Applies to range aggregations. Ranges values will depend on field. For example, if max_severity is used, ranges might look like: [{“From”: 0, “To”: 70}, {“From”: 70, “To”: 100}] |
| size | body | integer | The max number of term buckets to be returned. |
| sub_aggregates | body | list of dictionaries | A nested aggregation, such as: [{“name”: “max_first_behavior”, “type”: “max”, “field”: “first_behavior”}]. There is a maximum of 3 nested aggregations per request. |
| sort | body | string | FQL syntax string to sort bucket results. _count - sort by document count. _term - sort by the string value alphabetically. Supports asc and desc using | format. Example: _count|desc |
| time_zone | body | string | Time zone for bucket results. |
| type | body | string | Type of aggregation. Valid values: date_histogram, date_range, terms, range, cardinality, max, min, avg, sum, percentiles |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
extended_bounds = { "max": "string", "min": "string"}
filters_spec = { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string"}
ranges = [ { "from": integer, "to": integer }]
sub_aggregates = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.aggregate_migration(date_ranges=date_ranges, exclude="string", extended_bounds=extended_bounds, field="string", filter="string", filters_spec=filters_spec, from=integer, include="string", interval="string", max_doc_count=integer, min_doc_count=integer, missing="string", name="string", percents=["string"], q="string", ranges=ranges, size=integer, sort="string", sub_aggregates=sub_aggregates, time_zone="string", type="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
extended_bounds = { "max": "string", "min": "string"}
filters_spec = { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string"}
ranges = [ { "from": integer, "to": integer }]
sub_aggregates = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.MigrationAggregatesV1(date_ranges=date_ranges, exclude="string", extended_bounds=extended_bounds, field="string", filter="string", filters_spec=filters_spec, from=integer, include="string", interval="string", max_doc_count=integer, min_doc_count=integer, missing="string", name="string", percents=["string"], q="string", ranges=ranges, size=integer, sort="string", sub_aggregates=sub_aggregates, time_zone="string", type="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.command("MigrationAggregatesV1", body=body_payload)print(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
from := "string" to := "string" exclude := "string" field := "string" filter := "string" from := integer include := "string" interval := "string" max_doc_count := integer min_doc_count := integer missing := "string" name := "string" q := "string" From := integer To := integer size := integer sort := "string" time_zone := "string" type := "string"
response, err := client.HostMigration.MigrationAggregatesV1( &host_migration.MigrationAggregatesV1Params{ Body: []*models.MsaAggregateQueryRequest{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{}, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{}, Size: &size, Sort: &sort, SubAggregates: []interface{}{}, TimeZone: &time_zone, Type: &type, }, }, TimeZone: &time_zone, Type: &type, }, }, TimeZone: &time_zone, Type: &type, }, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.migrationAggregatesV1( [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [], exclude: "string", extendedBounds: {}, field: "string", filter: "string", filtersSpec: {}, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [], size: integer, sort: "string", subAggregates: [], timeZone: "string", type: "string" }], timeZone: "string", type: "string" }], timeZone: "string", type: "string"}] // body);
console.log(response);use rusty_falcon::apis::host_migration_api::migration_aggregates_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaAggregateQueryRequest;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = vec![MsaAggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }];
let response = migration_aggregates_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = [Falcon::MsaAggregateQueryRequest.new( date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [], exclude: 'string', extended_bounds: {}, field: 'string', filter: 'string', filters_spec: {}, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [], size: integer, sort: 'string', sub_aggregates: [], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string')]
response = api.migration_aggregates_v1(body)
puts responseHostMigrationsActionsV1
Section titled “HostMigrationsActionsV1”Perform an action on host migrations.
perform_host_migration_actionParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| action_name | query | string | The action to perform. Allowed actions: remove_hosts, remove_host_groups, add_host_groups. |
| action_parameters | body | dictionary | Action parameters payload to execute. |
| body | body | string | Full body payload as a JSON formatted dictionary. Not required if using other keyword arguments. |
| filter | body | string | FQL formatted filter to use to identify migration IDs to target. Allowed filters: groups, hostgroups, static_host_groups, hostname, status, target_cid, source_cid, migration_id, id, host_migration_id, and created_time. |
| id | query | string | The migration job to perform actions on. |
| ids | body | string or list of strings | Migration IDs to target. |
| parameters | query | dictionary | Full query string parameters payload in JSON format. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.perform_host_migration_action(id="string", action_name="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.HostMigrationsActionsV1(id="string", action_name="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "action_parameters": [ { "name": "string", "value": "string" } ], "filter": "string", "ids": ["string"]}
response = falcon.command("HostMigrationsActionsV1", id="string", action_name="string", body=body_payload)print(response)Invoke-FalconMigrationAction -Id "string" ` -Name "string" ` -HostId @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
name := "string" value := "string" filter := "string"
response, err := client.HostMigration.HostMigrationsActionsV1( &host_migration.HostMigrationsActionsV1Params{ Body: &models.MsaEntityActionRequestV3{ ActionParameters: []interface{}{ { Name: &name, Value: &value, }, }, Filter: &filter, Ids: []string{"string"}, }, ID: "string", ActionName: "string", Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.hostMigrationsActionsV1( "string", // id "string", // actionName { // body actionParameters: [{ name: "string", value: "string" }], filter: "string", ids: [] });
console.log(response);use rusty_falcon::apis::host_migration_api::host_migrations_actions_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaEntityActionRequestV3;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = MsaEntityActionRequestV3 { filter: Some("string".to_string()), ids: vec!["string".to_string()], ..Default::default() };
let response = host_migrations_actions_v1( &falcon.cfg, // configuration "string", // id "string", // action_name body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = Falcon::MsaEntityActionRequestV3.new( action_parameters: [{ name: 'string', value: 'string' }], filter: 'string', ids: [])
response = api.host_migrations_actions_v1(body, 'string', 'string')
puts responseGetHostMigrationsV1
Section titled “GetHostMigrationsV1”Get host migration details.
get_host_migration_detailsParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| body | body | dictionary | Full body payload in JSON format. Not required when using other keywords. |
| ids | body | string or list of strings | Migration IDs to retrieve. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.get_host_migration_details(ids=["string"])print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.GetHostMigrationsV1(ids=["string"])print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "ids": ["string"]}
response = falcon.command("GetHostMigrationsV1", body=body_payload)print(response)Get-FalconMigrationHost -Id @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
response, err := client.HostMigration.GetHostMigrationsV1( &host_migration.GetHostMigrationsV1Params{ Body: &models.MsaIdsRequest{ Ids: []string{"string"}, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.getHostMigrationsV1( { ids: []} // body);
console.log(response);use rusty_falcon::apis::host_migration_api::get_host_migrations_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaIdsRequest;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = MsaIdsRequest { ids: vec!["string".to_string()], ..Default::default() };
let response = get_host_migrations_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = Falcon::MsaIdsRequest.new( ids: [])
response = api.get_host_migrations_v1(body)
puts responseGetMigrationDestinationsV1
Section titled “GetMigrationDestinationsV1”Get destinations for a migration.
get_migration_destinationParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| body | body | string | Full body payload as a JSON formatted dictionary. Not required if using other keyword arguments. |
| filter | body | string | FQL formatted filter to use to identify migration IDs to target. Allowed filters: groups, hostgroups, static_host_groups, hostname, status, target_cid, source_cid, migration_id, id, host_migration_id, and created_time. |
| device_ids | body | string or list of strings | Device IDs to target. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.get_migration_destination(device_ids=["string"], filter="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.GetMigrationDestinationsV1(device_ids=["string"], filter="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "device_ids": ["string"], "filter": "string"}
response = falcon.command("GetMigrationDestinationsV1", body=body_payload)print(response)Get-FalconMigrationCid -Id @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
filter := "string"
response, err := client.HostMigration.GetMigrationDestinationsV1( &host_migration.GetMigrationDestinationsV1Params{ Body: &models.APIGetMigrationDestinationsRequestBodyV1{ DeviceIds: []string{"string"}, Filter: &filter, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.getMigrationDestinationsV1( { deviceIds: [], filter: "string"} // body);
console.log(response);use rusty_falcon::apis::host_migration_api::get_migration_destinations_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::ApiGetMigrationDestinationsRequestBodyV1;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = ApiGetMigrationDestinationsRequestBodyV1 { device_ids: vec!["string".to_string()], filter: Some("string".to_string()), ..Default::default() };
let response = get_migration_destinations_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = Falcon::ApiGetMigrationDestinationsRequestBodyV1.new( device_ids: [], filter: 'string')
response = api.get_migration_destinations_v1(body)
puts responseMigrationsActionsV1
Section titled “MigrationsActionsV1”Perform an action on a migration job.
perform_migration_job_actionParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| action_name | query | string | The action to perform. Allowed actions: start_migration, cancel_migration, rename_migration, and delete_migration. |
| action_parameters | body | dictionary | Action parameters payload to execute. |
| body | body | string | Full body payload as a JSON formatted dictionary. Not required if using other keyword arguments. |
| filter | body | string | FQL formatted filter to use to identify migration IDs to target. Allowed filters: groups, hostgroups, static_host_groups, hostname, status, target_cid, source_cid, migration_id, id, host_migration_id, and created_time. |
| ids | body | string or list of strings | Migration ID to target. |
| parameters | query | dictionary | Full query string parameters payload in JSON format. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.perform_migration_job_action(action_name="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.MigrationsActionsV1(action_name="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "action_parameters": [ { "name": "string", "value": "string" } ], "filter": "string", "ids": ["string"]}
response = falcon.command("MigrationsActionsV1", action_name="string", body=body_payload)print(response)Rename-FalconMigration -Name "string" -Id "string"package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
name := "string" value := "string" filter := "string"
response, err := client.HostMigration.MigrationsActionsV1( &host_migration.MigrationsActionsV1Params{ Body: &models.MsaEntityActionRequestV3{ ActionParameters: []interface{}{ { Name: &name, Value: &value, }, }, Filter: &filter, Ids: []string{"string"}, }, ActionName: "string", Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.migrationsActionsV1( "string", // actionName { // body actionParameters: [{ name: "string", value: "string" }], filter: "string", ids: [] });
console.log(response);use rusty_falcon::apis::host_migration_api::migrations_actions_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaEntityActionRequestV3;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = MsaEntityActionRequestV3 { filter: Some("string".to_string()), ids: vec!["string".to_string()], ..Default::default() };
let response = migrations_actions_v1( &falcon.cfg, // configuration "string", // action_name body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = Falcon::MsaEntityActionRequestV3.new( action_parameters: [{ name: 'string', value: 'string' }], filter: 'string', ids: [])
response = api.migrations_actions_v1(body, 'string')
puts responseGetMigrationsV1
Section titled “GetMigrationsV1”Get migration job details.
get_migration_job_detailsParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| ids | query | string or list of strings | The migration jobs of interest. |
| parameters | query | dictionary | Full query string parameters payload in JSON format. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_migration_job_details(ids=id_list)print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.GetMigrationsV1(ids=id_list)print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("GetMigrationsV1", ids=id_list)print(response)Get-FalconMigration -Id @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
response, err := client.HostMigration.GetMigrationsV1( &host_migration.GetMigrationsV1Params{ Ids: []string{"ID1", "ID2", "ID3"}, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.getMigrationsV1(["ID1", "ID2", "ID3"]); // ids
console.log(response);use rusty_falcon::apis::host_migration_api::get_migrations_v1;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = get_migrations_v1( &falcon.cfg, // configuration vec!["string".to_string()], // ids ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
response = api.get_migrations_v1(['ID1', 'ID2', 'ID3'])
puts responseCreateMigrationV1
Section titled “CreateMigrationV1”Create a device migration job.
create_migrationParameters
Section titled “Parameters”The device_ids and filter arguments are mutually exclusive. When both are provided, the filter argument takes precedence.
| Name | Type | Data type | Description |
|---|---|---|---|
| body | body | string | Full body payload as a JSON formatted dictionary. Not required if using other keyword arguments. |
| device_ids | body | string or list of strings | Device ID for the migration. |
| filter | body | string | FQL formatted filter to identify devices for the migration. |
| name | body | string | Name of the migration job. |
| target_cid | body | string | CID the migration job targets. |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.create_migration(device_ids=["string"], filter="string", name="string", target_cid="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.CreateMigrationV1(device_ids=["string"], filter="string", name="string", target_cid="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "device_ids": ["string"], "filter": "string", "name": "string", "target_cid": "string"}
response = falcon.command("CreateMigrationV1", body=body_payload)print(response)New-FalconMigration -Name "string"package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
filter := "string" name := "string" target_cid := "string"
response, err := client.HostMigration.CreateMigrationV1( &host_migration.CreateMigrationV1Params{ Body: &models.APICreateMigrationRequestV1{ DeviceIds: []string{"string"}, Filter: &filter, Name: &name, TargetCID: &target_cid, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.createMigrationV1( { deviceIds: [], filter: "string", name: "string", targetCid: "string"} // body);
console.log(response);use rusty_falcon::apis::host_migration_api::create_migration_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::ApiCreateMigrationRequestV1;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = ApiCreateMigrationRequestV1 { device_ids: vec!["string".to_string()], filter: Some("string".to_string()), name: Some("string".to_string()), target_cid: Some("string".to_string()), ..Default::default() };
let response = create_migration_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
body = Falcon::ApiCreateMigrationRequestV1.new( device_ids: [], filter: 'string', name: 'string', target_cid: 'string')
response = api.create_migration_v1(body)
puts responseGetHostMigrationIDsV1
Section titled “GetHostMigrationIDsV1”Query host migration IDs.
query_host_migration_idsParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| id | query | string | The migration job to query |
| filter | query | string | The filter expression that should be used to limit the results. Valid fields: static_host_groups, source_cid, migration_id, groups, hostgroups, target_cid, id, created_time, host_migration_id, hostname, and status |
| limit | query | integer | The maximum records to return. [1-10000] |
| offset | query | integer | The offset to start retrieving records from |
| parameters | query | dictionary | Full query string parameters payload in JSON format. |
| sort | query | string | The property to sort by. Available fields: source_cid, id, created_time, static_host_groups, hostname, status, target_cid, groups, hostgroups, migration_id, and host_migration_id |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_host_migration_ids(filter="string", id="string", limit="string", offset="string", sort="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.GetHostMigrationIDsV1(filter="string", id="string", limit="string", offset="string", sort="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("GetHostMigrationIDsV1", id="string", offset=integer, limit=integer, sort="string", filter="string")print(response)Get-FalconMigrationHost -JobId "string" ` -Filter "string" ` -Sort "string" ` -Limit integer ` -Offset integerpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
offset := int64(0) limit := int64(0) sort := "string" filter := "string"
response, err := client.HostMigration.GetHostMigrationIDsV1( &host_migration.GetHostMigrationIDsV1Params{ ID: "string", Offset: &offset, Limit: &limit, Sort: &sort, Filter: &filter, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.getHostMigrationIDsV1( "string", // id integer, // offset integer, // limit "string", // sort "string" // filter);
console.log(response);use rusty_falcon::apis::host_migration_api::get_host_migration_ids_v1;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = get_host_migration_ids_v1( &falcon.cfg, // configuration "string", // id Some(integer), // offset Some(integer), // limit Some("string"), // sort Some("string"), // filter ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
response = api.get_host_migration_ids_v1('string')
puts responseGetMigrationIDsV1
Section titled “GetMigrationIDsV1”Query migration jobs.
query_migration_jobsParameters
Section titled “Parameters”| Name | Type | Data type | Description |
|---|---|---|---|
| filter | query | string | The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, and target_cid |
| limit | query | integer | The maximum records to return. [1-10000] |
| offset | query | integer | The offset to start retrieving records from |
| parameters | query | dictionary | Full query string parameters payload in JSON format. |
| sort | query | string | The property to sort by. Valid fields: migration_id, target_cid, status, migration_status, created_by, created_time, name, and id |
Code Examples
Section titled “Code Examples”from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_migration_jobs(filter="string", limit="string", offset="string", sort="string")print(response)from falconpy import HostMigration
falcon = HostMigration(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.GetMigrationIDsV1(filter="string", limit="string", offset="string", sort="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("GetMigrationIDsV1", offset=integer, limit=integer, sort="string", filter="string")print(response)Get-FalconMigration -Filter "string" ` -Sort "string" ` -Limit integer ` -Offset integerpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/host_migration")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
offset := int64(0) limit := int64(0) sort := "string" filter := "string"
response, err := client.HostMigration.GetMigrationIDsV1( &host_migration.GetMigrationIDsV1Params{ Offset: &offset, Limit: &limit, Sort: &sort, Filter: &filter, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.hostMigration.getMigrationIDsV1( integer, // offset integer, // limit "string", // sort "string" // filter);
console.log(response);use rusty_falcon::apis::host_migration_api::get_migration_ids_v1;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = get_migration_ids_v1( &falcon.cfg, // configuration Some(integer), // offset Some(integer), // limit Some("string"), // sort Some("string"), // filter ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::HostMigration.new
response = api.get_migration_ids_v1(offset: integer, limit: integer, sort: 'string', filter: 'string')
puts response