# Cloud OCI Registration

The Cloud OCI Registration service collection provides operations for registering and managing Oracle Cloud Infrastructure (OCI) tenancies in CrowdStrike Falcon CSPM. Create, update, delete, and validate OCI tenancy accounts, rotate keys, and retrieve setup scripts.

7 operations in this service collection.

## Operations

- **cloud-security-registration-oci-create-account** (POST `/cloud-security-registration-oci/entities/accounts/v1`) — Create OCI tenancy account in CSPM
- **cloud-security-registration-oci-delete-account** (DELETE `/cloud-security-registration-oci/entities/accounts/v1`) — Delete an existing OCI tenancy in CSPM.
- **cloud-security-registration-oci-download-script** (POST `/cloud-security-registration-oci/entities/scripts/v1`) — Retrieve script to create resources in tenancy OCID
- **cloud-security-registration-oci-get-account** (GET `/cloud-security-registration-oci/combined/accounts/v1`) — Retrieve a list of OCI tenancies with support for FQL filtering, sorting, and pagination
- **cloud-security-registration-oci-rotate-key** (POST `/cloud-security-registration-oci/entities/account-rotate-keys/v1`) — Refresh key for the OCI Tenancy
- **cloud-security-registration-oci-update-account** (PATCH `/cloud-security-registration-oci/entities/accounts/v1`) — Patch an existing OCI account in our system for a customer.
- **cloud-security-registration-oci-validate-tenancy** (POST `/cloud-security-registration-oci/entities/account-validate/v1`) — Validate the OCI account in CSPM for a provided CID.

---

## cloud-security-registration-oci-create-account

Create OCI tenancy account in CSPM

**POST** `/cloud-security-registration-oci/entities/accounts/v1`
**Scope:** Cloud Security OCI Registration: WRITE

### Parameters

- **resources** (body array)

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

products = [
    {
        "features": [
            {
                "deployment_method": "string",
                "feature": "string",
                "is_enabled": True,
                "persona": "string",
                "registration_detailed_status": "string"
            }
        ],
        "product": "string"
    }
]

response = falcon.create_account(group_name="string",
                                 home_region="string",
                                 policy_name="string",
                                 products=products,
                                 tenancy_ocid="string",
                                 user_email="string",
                                 user_name="string")
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "tenancy_ocid": "string"
  }
]
```

---

## cloud-security-registration-oci-delete-account

Delete an existing OCI tenancy in CSPM.

**DELETE** `/cloud-security-registration-oci/entities/accounts/v1`
**Scope:** Cloud Security OCI Registration: WRITE

### Parameters

- **ids** (query array) — OCI tenancy ocids to remove

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.delete_account(ids=id_list)
print(response)
```

### Response

```json
{
  "errors": [
    {
      "code": 0,
      "id": "string",
      "message": "string"
    }
  ],
  "meta": {
    "pagination": {
      "limit": 0,
      "offset": 0,
      "total": 0
    },
    "powered_by": "string",
    "query_time": 0.0,
    "trace_id": "string",
    "writes": {
      "resources_affected": 0
    }
  }
}
```

---

## cloud-security-registration-oci-download-script

Retrieve script to create resources in tenancy OCID

**POST** `/cloud-security-registration-oci/entities/scripts/v1`
**Scope:** Cloud Security OCI Registration: READ

### Parameters

- **resources** (body array)

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

response = falcon.download_script(deployment_method="string",
                                  is_download=boolean,
                                  tenancy_ocid="string")
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "stack_url": "string",
    "tenancy_ocid": "string",
    "version": "string",
    "zip_url": "string"
  }
]
```

---

## cloud-security-registration-oci-get-account

Retrieve a list of OCI tenancies with support for FQL filtering, sorting, and pagination

**GET** `/cloud-security-registration-oci/combined/accounts/v1`
**Scope:** Cloud Security OCI Registration: READ

### Parameters

- **filter** (query string) — FQL (Falcon Query Language) string for filtering results. Allowed filters are Set{overall_status, created_at, updated_at, registration_name, tenancy_ocid, tenancy_name, home_region, key_age}
- **sort** (query string) — Field and direction for sorting results - allowed sort fields are Set{created_at, updated_at, registration_name, tenancy_ocid, tenancy_name, home_region, key_age, overall_status}
- **next_token** (query string) — Token for cursor-based pagination. Currently unsupported.
- **limit** (query integer) — Maximum number of records to return (default: 100, max: 10000)
- **offset** (query integer) — Starting index of result

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

response = falcon.get_account(filter="string",
                              sort="string",
                              next_token="string",
                              limit=integer,
                              offset=integer)
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "cloud_registration_enabled": false,
    "conditions": [],
    "created_at": "string",
    "cspm_enabled": false,
    "finger_print": "string",
    "group_name": "string",
    "group_ocid": "string",
    "home_region": "string",
    "is_connected": false,
    "key_age": 0,
    "overall_status": "string",
    "policy_name": "string",
    "policy_ocid": "string",
    "private_key": "string",
    "products": {},
    "public_key": "string",
    "registration_description": "string",
    "registration_id": "string",
    "registration_name": "string",
    "stack_name": "string",
    "stack_ocid": "string",
    "tenancy_name": "string",
    "tenancy_ocid": "string",
    "updated_at": "string",
    "user_email": "string",
    "user_name": "string",
    "user_ocid": "string"
  }
]
```

---

## cloud-security-registration-oci-rotate-key

Refresh key for the OCI Tenancy

**POST** `/cloud-security-registration-oci/entities/account-rotate-keys/v1`
**Scope:** Cloud Security OCI Registration: WRITE

### Parameters

- **resources** (body array)

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

response = falcon.rotate_key(tenancy_ocid="string")
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "finger_print": "string",
    "public_key": "string",
    "tenancy_ocid": "string"
  }
]
```

---

## cloud-security-registration-oci-update-account

Patch an existing OCI account in our system for a customer.

**PATCH** `/cloud-security-registration-oci/entities/accounts/v1`
**Scope:** Cloud Security OCI Registration: WRITE

### Parameters

- **resources** (body array)

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

products = [
    {
        "features": [
            {
                "deployment_method": "string",
                "feature": "string",
                "is_enabled": True,
                "persona": "string",
                "registration_detailed_status": "string"
            }
        ],
        "product": "string"
    }
]

response = falcon.update_account(group_name="string",
                                 home_region="string",
                                 policy_name="string",
                                 products=products,
                                 stack_ocid="string",
                                 tenancy_ocid="string",
                                 user_email="string",
                                 user_name="string",
                                 user_ocid="string")
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "cloud_registration_enabled": false,
    "conditions": [],
    "created_at": "string",
    "cspm_enabled": false,
    "finger_print": "string",
    "group_name": "string",
    "group_ocid": "string",
    "home_region": "string",
    "is_connected": false,
    "key_age": 0,
    "overall_status": "string",
    "policy_name": "string",
    "policy_ocid": "string",
    "private_key": "string",
    "products": {},
    "public_key": "string",
    "registration_description": "string",
    "registration_id": "string",
    "registration_name": "string",
    "stack_name": "string",
    "stack_ocid": "string",
    "tenancy_name": "string",
    "tenancy_ocid": "string",
    "updated_at": "string",
    "user_email": "string",
    "user_name": "string",
    "user_ocid": "string"
  }
]
```

---

## cloud-security-registration-oci-validate-tenancy

Validate the OCI account in CSPM for a provided CID.

**POST** `/cloud-security-registration-oci/entities/account-validate/v1`
**Scope:** Cloud Security OCI Registration: WRITE

### Parameters

- **resources** (body array)

### Example (Python)

```python
from falconpy import CloudOCIRegistration

falcon = CloudOCIRegistration(client_id=CLIENT_ID,
                              client_secret=CLIENT_SECRET
                              )

products = [
    {
        "features": [
            "string"
        ],
        "product": "string"
    }
]

response = falcon.validate_tenancy(products=products, tenancy_ocid="string")
print(response)
```

### Response

```json
[
  {
    "cid": "string",
    "home_region": "string",
    "overall_status": "string",
    "products": {},
    "tenancy_ocid": "string"
  }
]
```
