<br />

Added: 7

## **PROTOCOLS**

## Binder

*Defined in [fuchsia.component/binder.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/binder.fidl;l=17)*

A framework-provided protocol that allows components that use it to bind to
the component that exposes it. The act of connecting to this protocol will
trigger the bind. Thus, this protocol contains no methods. For more details
on binding, see
https://fuchsia.dev/fuchsia-src/concepts/components/v2/lifecycle#binding.

When a component connects to protocol, the component exposing this capability
will be started if it's not already running. Upon a failure to start, the
component framework will close the server end of the channel with a
zx.Status epitaph.

<br />

## ChildIterator

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=204)*

A protocol to iterate over the list of children in a realm.

<br />

### Next

Advance the iterator and return the next batch of children.

Returns a vector of `ChildRef`. Returns an empty vector when there are
no more children.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `children` | `vector<https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef>:128` |

## Controller

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=20)*

A protocol used to operate on a component.

One may get access to a `Controller` when creating a component with the
`Realm.CreateChild` method. You may also obtain a `Controller` for an
existing child component with the `Realm.OpenController` method.
Added: 14

<br />

### Destroy

Destroys this component. When this method returns, the component is
either destroyed or in the case of an error no destruction happened.

Errors:

- `ACCESS_DENIED`: Destruction of this component is not allowed. Currently, this can happen if the component is a static child of its parent.
- `INTERNAL`: Something prevented destruction from succeeding -- component manager's logs will contain more detail.

Added: HEAD

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_Destroy_Result` |

### GetExposedDictionary

Returns the dictionary containing the component's exposed capabilities.
Added: HEAD

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_GetExposedDictionary_Result` |

### GetOutputDictionary

Returns a reference to the component's output dictionary, which may be
interacted with by using the fuchsia.component.runtime.Capabilities API.
Added: HEAD

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_GetOutputDictionary_Result` |

### IsStarted

Returns true if this instance is currently running.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_IsStarted_Result` |

### OpenExposedDir

Opens the exposed directory of the controlled component, through which
capabilities the component exposed via `ComponentDecl.exposes` are
available, on success.

Binding to the exposed directory requires that the component be
resolved, but it will not be started until/unless some capability is
requested that requires it to be.

If this component is destroyed, any outstanding connections to
`exposed_dir` will be closed.

Errors:

- `INSTANCE_CANNOT_RESOLVE`: This component failed to resolve.

Added: 30

#### Request

| Name | Type |
|---|---|
| `exposed_dir` | `server_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Directory` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_OpenExposedDir_Result` |

### Start

Start the component, optionally providing additional handles to be given
to the component. Returns INSTANCE_ALREADY_RUNNING if the instance is
currently running.

#### Request

| Name | Type |
|---|---|
| `args` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StartChildArgs` |
| `execution_controller` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.component#ExecutionController` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_Start_Result` |

## EventStream

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=212)*

Listener for events on the component hierarchy.
Can't be used outside of the platform.
Added: 11

<br />

### GetNext

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `events` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#Event>` |

### WaitForReady

Returns immediately. Used to indicate that the FIDL connection
completed. This is needed for non-static streams to verify
that subscribe has completed before components are started.

#### Request

\<EMPTY\>

#### Response

\<EMPTY\>

## ExecutionController

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=114)*
Added: 14

<br />

### OnStop

When the child is stopped due to `Stop` being called, the child exiting
on its own, or for any other reason, `OnStop` is called and then this
channel is closed.

#### Response

| Name | Type |
|---|---|
| `stopped_payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StoppedPayload` |

### Stop

Initiates a stop action on this component. Once complete, OnStop will be
called with the stopped payload and this channel is closed.

Note that a component may stop running on its own at any time, so it is
possible for `OnStop` to be received before `Stop` is called.

#### Request

\<EMPTY\>

## Introspector

*Defined in [fuchsia.component/introspector.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/introspector.fidl;l=18)*

A protocol used by a component instance to obtain information about
components in its own realm.

This protocol only supports getting the moniker at the moment but could
expand to other privileged information such as the URL of a component.

The component framework provides this capability to components that use
`fuchsia.component.Introspector` from framework.
Added: HEAD

<br />

### GetMoniker

Obtains the moniker relative to this realm of the component
corresponding to the provided token. Runners may obtain the token via
`fuchsia.component.runner/ComponentStartInfo.component_instance`.

Returns `Error.INSTANCE_NOT_FOUND` if the token is invalid, or
does not correspond to a component under this realm.

#### Request

| Name | Type |
|---|---|
| `component_instance` | `handle<event>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Introspector_GetMoniker_Result` |

## Namespace

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=48)*

Protocol for performing namespace operations.
Added: 20

<br />

### Create

Deprecated: HEAD

#### Request

| Name | Type |
|---|---|
| `entries` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceInputEntry>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Namespace_Create_Result` |

### Create2

Added: HEAD

#### Request

| Name | Type |
|---|---|
| `entries` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceInputEntry2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Namespace_Create2_Result` |

## Realm

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=36)*

A protocol used by a component instance to manage its own realm, such as for
binding to its children.

Requests to this protocol are processed in the order they are received.
Clients that wish to send requests in parallel should open multiple
connections.

The component framework provides this service to components that use
`fuchsia.component.Realm`.

<br />

### CreateChild

Creates a child component instance dynamically. When this function
returns successfully, the instance exists, but it may not be running.

The environment of the child instance is determined by the environment
of the collection. `decl` must not set `environment`.

If `decl.startup == EAGER`, or `collection.durability == SINGLE_RUN`,
\[CreateChild\] will start the component and return once the component is
started. Otherwise, \[CreateChild\] will return immediately after creating
the component and will not start or resolve it.

Errors:

- `INVALID_ARGUMENTS`: `collection` is not a valid reference or `child` is not a valid declaration.
- `COLLECTION_NOT_FOUND`: `collection` does not exist.
- `INSTANCE_ALREADY_EXISTS`: `decl.name` already exists in `collection`.
- `INSTANCE_CANNOT_RESOLVE`: `child`'s component declaration failed to resolve in a `SingleRun` collection.
- `NO_SPACE`: Could not allocate storage for the new instance.
- `INSTANCE_DIED`: This realm no longer exists.

#### Request

| Name | Type |
|---|---|
| `collection` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#CollectionRef` |
| `decl` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#Child` |
| `args` | `https://fuchsia.dev/reference/fidl/fuchsia.component#CreateChildArgs` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_CreateChild_Result` |

### DestroyChild

Destroys a dynamically-created component instance. When this function
returns, the instance is destroyed and has stopped running. However,
cleanup of the component's resources (such as its isolated storage) may
happen in the background after this function returns.

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid reference or does not refer to a dynamic instance.
- `INSTANCE_NOT_FOUND`: `child` does not exist.
- `COLLECTION_NOT_FOUND`: `collection` does not exist.
- `INSTANCE_DIED`: This realm no longer exists.

#### Request

| Name | Type |
|---|---|
| `child` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_DestroyChild_Result` |

### GetChildOutputDictionary

Returns a reference to a child's output dictionary, which may be
interacted with by using the fuchsia.component.runtime.Capabilities API.
Added: HEAD

#### Request

| Name | Type |
|---|---|
| `child` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetChildOutputDictionary_Result` |

### GetChildOutputDictionaryDeprecated

Added: HEAD

#### Request

| Name | Type |
|---|---|
| `child` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetChildOutputDictionaryDeprecated_Result` |

### GetResolvedInfo

Returns the set of information that was given to the component framework
by this component's resolver.
Added: HEAD

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetResolvedInfo_Result` |

### ListChildren

Returns an iterator that lists all instances in a collection.

NOTE: The results are not guaranteed to be consistent. Instances may be
created or destroyed while the iterator is live, but those changes
won't be observed by the iterator after this method returns.

Errors:

- `INVALID_ARGUMENTS`: `collection` is not a valid reference or `iter` does not have `ZX_RIGHT_WAIT`.
- `COLLECTION_NOT_FOUND`: `collection` does not exist.
- `INSTANCE_DIED`: This realm no longer exists.
- If `iter` does not have standard channel rights, this function may return `ACCESS_DENIED` or component manager may close `iter`.

#### Request

| Name | Type |
|---|---|
| `collection` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#CollectionRef` |
| `iter` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.component#ChildIterator` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_ListChildren_Result` |

### OpenController

Operate on a child component. See documentation for [Controller](https://fuchsia.dev/reference/fidl/fuchsia.component#Controller).

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid child reference.
- `INSTANCE_NOT_FOUND`: `child` does not exist.
- `INSTANCE_DIED`: This realm no longer exists.

Added: HEAD

#### Request

| Name | Type |
|---|---|
| `child` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef` |
| `controller` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.component#Controller` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_OpenController_Result` |

### OpenExposedDir

Opens the exposed directory of a child component. When this function
successfully returns, `exposed_dir` is bound to a directory that
contains the capabilities which the child exposed to its realm via
`ComponentDecl.exposes` (specified via "expose" declarations in the
component's manifest). The child component will not start as a result of
this call.

`exposed_dir` is open as long as `child` exists.

Errors:

- `INVALID_ARGUMENTS`: `child` is not a valid child reference.
- `INSTANCE_NOT_FOUND`: `child` does not exist.
- `INSTANCE_CANNOT_RESOLVE`: `child`'s component declaration failed to resolve.
- `INSTANCE_DIED`: This realm no longer exists.

#### Request

| Name | Type |
|---|---|
| `child` | `https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#ChildRef` |
| `exposed_dir` | `server_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Directory` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_OpenExposedDir_Result` |

## StorageAdmin

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=49)*
Added: 30

<br />

### DeleteAllStorageContents

Deletes the contents of all the storage. Storage directories are
retained so any components using storage will be able to continue using
it to create new files and directories.

Returns Error::INTERNAL only if no storage at all could be cleared.
Returns successfully even if some errors happen during the deletion
progress.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_DeleteAllStorageContents_Result` |

### DeleteComponentStorage

Deletes the contents of the storage for this component. Preserves the
component's subdirectory itself within the storage backing directory.
The provided moniker is relative to the component that declares the
storage capability.

#### Request

| Name | Type |
|---|---|
| `relative_moniker` | `string:4096` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_DeleteComponentStorage_Result` |

### GetStatus

Get the current status of the storage.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_GetStatus_Result` |

### ListStorageInRealm

Lists the descendant components under the specified realm that use the
storage capability. The provided moniker is relative to the component
that declares the storage capability.

Returns INSTANCE_NOT_FOUND if the realm does not exist, and INVALID_ARGS
if \|relative_moniker\| is malformed.

#### Request

| Name | Type |
|---|---|
| `relative_moniker` | `string:4096` |
| `iterator` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.component#StorageIterator` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_ListStorageInRealm_Result` |

### OpenComponentStorageById

Opens the isolated directory for the given storage ID. Creates the
backing sub-directory for this storage if it hasn't yet been created.

#### Request

| Name | Type |
|---|---|
| `id` | `string:64` |
| `object` | `server_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Node` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_OpenComponentStorageById_Result` |

### OpenStorage

Opens the isolated directory for the given component. The provided
moniker is relative to the component that declares the storage
capability. Creates the backing sub-directory for this storage if it
hasn't yet been created.

#### Request

| Name | Type |
|---|---|
| `relative_moniker` | `string:4096` |
| `object` | `server_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Node` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_OpenStorage_Result` |

## StorageIterator

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=107)*

An iterator protocol for returning a set of components using a storage
capability. See \|StorageAdmin.ListStorageInRealm\| for more information.
Added: 30

<br />

### Next

Retrieve the next set of components using the storage capability. The
returned monikers are relative to the component that declares the
storage capability. Returns an empty vector after all components have
been returned.

#### Request

\<EMPTY\>

#### Response

| Name | Type |
|---|---|
| `relative_monikers` | `vector<string:4096>` |

## **STRUCTS**

### Controller_Destroy_Response

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=76)*

\<EMPTY\>

### Controller_GetExposedDictionary_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=54)*

| Field | Type | Description | Default |
|---|---|---|---|
| `dictionary` | `https://fuchsia.dev/reference/fuchsia.component.sandbox//https://fuchsia.dev/reference/fuchsia.component.sandbox#DictionaryRef` |   | No default |

### Controller_GetOutputDictionary_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=61)*

| Field | Type | Description | Default |
|---|---|---|---|
| `dictionary` | `handle<eventpair>` |   | No default |

### Controller_IsStarted_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=30)*

| Field | Type | Description | Default |
|---|---|---|---|
| `is_started` | `bool` |   | No default |

### Controller_OpenExposedDir_Response

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=50)*

\<EMPTY\>

### Controller_Start_Response

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=27)*

\<EMPTY\>

### Introspector_GetMoniker_Response

*Defined in [fuchsia.component/introspector.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/introspector.fidl;l=27)*

| Field | Type | Description | Default |
|---|---|---|---|
| `moniker` | `string:4096` |   | No default |

### NamespaceInputEntry [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=11)*
Deprecated: HEAD Added: 20

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `path` | `string:4095` |   | No default |
| `dictionary` | `client_end:https://fuchsia.dev/reference/fuchsia.component.sandbox//https://fuchsia.dev/reference/fuchsia.component.sandbox#Dictionary` |   | No default |

### NamespaceInputEntry2 [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=17)*
Added: HEAD

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `path` | `string:4095` | The path at which the entry will exist in the namespace. | No default |
| `capability` | `handle<eventpair>` | A capability (created using fuchsia.component.runtime.Capabilities) to install in the namespace. Currently only dictionaries are supported. | No default |

### Namespace_Create2_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=59)*

| Field | Type | Description | Default |
|---|---|---|---|
| `entries` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceEntry>` |   | No default |

### Namespace_Create_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=52)*

| Field | Type | Description | Default |
|---|---|---|---|
| `entries` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceEntry>` |   | No default |

### Realm_CreateChild_Response

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=92)*

\<EMPTY\>

### Realm_DestroyChild_Response

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=107)*

\<EMPTY\>

### Realm_GetChildOutputDictionaryDeprecated_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=137)*

| Field | Type | Description | Default |
|---|---|---|---|
| `dictionary` | `https://fuchsia.dev/reference/fuchsia.component.sandbox//https://fuchsia.dev/reference/fuchsia.component.sandbox#DictionaryRef` |   | No default |

### Realm_GetChildOutputDictionary_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=146)*

| Field | Type | Description | Default |
|---|---|---|---|
| `dictionary` | `handle<eventpair>` |   | No default |

### Realm_GetResolvedInfo_Response [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=130)*

| Field | Type | Description | Default |
|---|---|---|---|
| `resolved_info` | `https://fuchsia.dev/reference/fuchsia.component.resolution//https://fuchsia.dev/reference/fuchsia.component.resolution#Component` |   | No default |

### Realm_ListChildren_Response

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=125)*

\<EMPTY\>

### Realm_OpenController_Response

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=47)*

\<EMPTY\>

### Realm_OpenExposedDir_Response

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=66)*

\<EMPTY\>

### StorageAdmin_DeleteAllStorageContents_Response

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=101)*

\<EMPTY\>

### StorageAdmin_DeleteComponentStorage_Response

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=87)*

\<EMPTY\>

### StorageAdmin_ListStorageInRealm_Response

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=70)*

\<EMPTY\>

### StorageAdmin_OpenComponentStorageById_Response

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=78)*

\<EMPTY\>

### StorageAdmin_OpenStorage_Response

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=58)*

\<EMPTY\>

## **ENUMS**

### DeletionError [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=32)*
Added: 30

<br />

| Name | Value | Description |
|---|---|---|
| ### CONNECTION | `1` | There was an error sending a request to the storage provider. |
| ### PROTOCOL | `2` | The storage provider returned an error in response to a protocol request. |
| ### NONE_AVAILABLE | `3` | There was no storage available for deletion. |
| ### UNSUPPORTED | `4` | This call is not supported. |

### Error [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.component/error.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/error.fidl;l=7)*

Standard error codes for component framework protocols.

<br />

| Name | Value | Description |
|---|---|---|
| ### INTERNAL | `1` | Component manager encountered an otherwise unspecified error while performing the operation. |
| ### INVALID_ARGUMENTS | `2` | At least one argument had an invalid format. |
| ### UNSUPPORTED | `3` | The feature is not yet supported. |
| ### ACCESS_DENIED | `4` | The caller did not have permission to perform the specified operation, or one of the handles provided to the call had insufficient rights. |
| ### INSTANCE_NOT_FOUND | `5` | The component instance was not found. |
| ### INSTANCE_ALREADY_EXISTS | `6` | The component instance already exists. |
| ### INSTANCE_CANNOT_START | `7` | The component instance could not be started. |
| ### INSTANCE_CANNOT_RESOLVE | `8` | Failed to resolve the component's declaration. |
| ### COLLECTION_NOT_FOUND | `9` | The component collection was not found. |
| ### RESOURCE_UNAVAILABLE | `10` | There were insufficient resources to perform the operation. |
| ### INSTANCE_DIED | `11` | The component instance died unexpectedly. |
| ### RESOURCE_NOT_FOUND | `12` | The requested resource does not exist. |
| ### INSTANCE_CANNOT_UNRESOLVE | `13` | Failed to unresolve the component. |
| ### INSTANCE_ALREADY_STARTED | `14` | The component instance has already been started. Added: 14 |
| ### DEPENDENCY_CYCLE | `15` | A capability route would have created a dependency cycle. Added: 29 |

### EventType [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=24)*

These EventTypes are used for the EventStream protocol.
They are FIDL versions of the EventType enum in hooks.rs and have
the same meaning.
Added: 11

<br />

| Name | Value | Description |
|---|---|---|
| ### CAPABILITY_REQUESTED | `1` | A capability provided by this component has been requested. The event payload carries the request channel. |
| ### DISCOVERED | `3` | A component instance was discovered. This is the first stage in the lifecycle of components. Dispatched for dynamic children when they're created, for static children when their parent is resolved, and for the root when the component manager starts. |
| ### DESTROYED | `4` | The instance is destroyed and no longer exists. |
| ### RESOLVED | `5` | An instance's declaration was resolved successfully for the first time. |
| ### STARTED | `6` | This instance has started, according to component manager. However, if this is an executable component, the runner has further work to do to launch the component. |
| ### STOPPED | `7` | An instance was stopped successfully. |
| ### DEBUG_STARTED | `8` | Similar to STARTED, except the payload will carry an eventpair that the subscriber could use to defer the launch of the component. This allows, e.g., a debugger to perform some setup before any processes are created. |
| ### UNRESOLVED | `9` | An instance was unresolved successfully. |

### NamespaceError [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=28)*

Error returned from methods in [Namespace](https://fuchsia.dev/reference/fidl/fuchsia.component#Namespace).
Added: 20

<br />

| Name | Value | Description |
|---|---|---|
| ### SHADOW | `1` | The parent of a parent shares a prefix with another namespace entry |
| ### DUPLICATE | `2` | Two entries have the same namespace path. |
| ### CONVERSION | `3` | Failed to convert a namespace dictionary to a directory. |
| ### BAD_ENTRY | `4` | A namespace entry was invalid. |
| ### DICTIONARY_READ | `5` | There was an error reading from one of the dictionaries. |

### StatusError [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=15)*
Added: 30

<br />

| Name | Value | Description |
|---|---|---|
| ### PROVIDER | `1` | The storage provider returned an error to a request or the connection to the provider unexpectedly closed. |
| ### RESPONSE_INVALID | `2` | Information returned by the storage provider appears to be invalid. |
| ### STATUS_UNKNOWN | `3` | A call to the storage provider succeeded, but it returned unexpectedly empty data. |
| ### UNSUPPORTED | `4` | This call is not supported. |

## **TABLES**

### CapabilityRequestedPayload [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=109)*

Payload for CapabilityRequested events
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `name` | `https://fuchsia.dev/reference/fidl/fuchsia.component#name` | The name of the capability. |
| ### 2 | `capability` | `handle<channel>` | A handle to the server end of the channel to host capability. |

### CreateChildArgs [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=151)*

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `numbered_handles` | `vector<https://fuchsia.dev/reference/fuchsia.process//https://fuchsia.dev/reference/fuchsia.process#HandleInfo>:128` | The numbered handles to pass to the component instance. If the runner for the component does not support the numbered handles it is expected to close the handles. |
| ### 2 | `dynamic_offers` | `vector<https://fuchsia.dev/reference/fuchsia.component.decl//https://fuchsia.dev/reference/fuchsia.component.decl#Offer>:128` | Dynamic offers that will target the component instance. Including `OfferDecl`s in this vector will cause additional capabilities to be offered to the newly created child, beyond the `OfferDecl`s in the parent's `ComponentDecl` that target the collection. Any kind of offer (e.g., protocol, directory) can be used as a dynamic offer. Any source that would be valid for a static offer is also valid for a dynamic offer. Additionally, unlike static offers, dynamic offers can use a "sibling" dynamic child component as a source by setting the source to a `ChildRef` that sets the `collection` field. Dynamic offers always target the newly created child component. As a result, `OfferDecl`s in `dynamic_offers` must not set the `target` field, as its value is implied. If either the source (that is, the component named in the `source` field of the `OfferDecl`) or the target of a dynamic offer is destroyed, the offer itself is destroyed simultaneously. In order to set this field to a non-empty value, the collection in which the child component is being created must specify `ComponentDecl.allowed_offers = STATIC_AND_DYNAMIC`. |
| ### 3 | `controller` | `server_end:https://fuchsia.dev/reference/fidl/fuchsia.component#Controller` | The controller for this component, which may be used to influence the component's lifecycle. Added: 14 |
| ### 4 | `dictionary` | `https://fuchsia.dev/reference/fuchsia.component.sandbox//https://fuchsia.dev/reference/fuchsia.component.sandbox#DictionaryRef` | A dictionary that contains extra capabilities for the component instance. This field should be considered deprecated in favor of `additional_inputs`. If both are set, an `INVALID_ARGUMENTS` error will be returned. Added: HEAD |
| ### 5 | `additional_inputs` | `handle<eventpair>` | A handle to a dictionary created using fuchsia.component.runtime.Capabilities that contains additional capabilities that should be added to the inputs of the created child. Added: HEAD |

### DebugStartedPayload [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=163)*

Payload for DebugStarted events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `runtime_dir` | `client_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Directory` | The directory served by the runner to present runtime and runner-specific information about the component. The other side is sent to the runner in ComponentStartInfo. For example, it can be queried to know whether the component is an ELF component and supports the break_on_start protocol below. |
| ### 2 | `break_on_start` | `handle<eventpair>` | An eventpair that can be used by debuggers to defer the launch of the component, e.g., ELF debuggers can setup the exception channel on the job while holding the eventpair, then drop the eventpair to notify the runner that processes could be created. The other side is sent to the runner in ComponentStartInfo. |

### DestroyedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=128)*

Payload for Destroyed events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

### DiscoveredPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=124)*

Payload for Discovered events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

### Event [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=200)*

Contains all information about a single event
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `header` | `https://fuchsia.dev/reference/fidl/fuchsia.component#EventHeader` | Information about the component for which this event was generated. |
| ### 2 | `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.component#EventPayload` | Optional payload for some event types |

### EventHeader

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=179)*

A head providing metadata about a target component instance.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `event_type` | `https://fuchsia.dev/reference/fidl/fuchsia.component#EventType` | Event type corresponding to the event |
| ### 2 | `moniker` | `string:4096` | Relative moniker identifying the component instance. Relative to the scope of the event. |
| ### 3 | `component_url` | `https://fuchsia.dev/reference/fuchsia.url//https://fuchsia.dev/reference/fuchsia.url#Url` | URL used to resolve the component. |
| ### 4 | `timestamp` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#InstantBoot` | Boot time when the event occurred. Added: 25 |

### NamespaceEntry [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=134)*

A single component namespace entry, which describes a namespace mount point
(`path`) and the directory backing it (`directory`). This type is usually
composed inside a vector. See `ComponentStartInfo.ns` for more details.
Added: 14

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `path` | `string:4095` | The mount point for the directory, including a leading slash. For example: "/pkg", "/svc", or "/config/data". |
| ### 2 | `directory` | `client_end:https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#Directory` | The directory mounted at the above `path`. |

### PurgedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=120)*

Payload for Purged events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

### ResolvedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=132)*

Payload for Resolved events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

### StartChildArgs [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=80)*
Added: 14

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `numbered_handles` | `vector<https://fuchsia.dev/reference/fuchsia.process//https://fuchsia.dev/reference/fuchsia.process#HandleInfo>:128` | The numbered handles to pass to the component instance. If the runner for the component does not support the numbered handles it is expected to close the handles. If set, the values given here will override the handles given in CreateChildArgs. |
| ### 2 | `namespace_entries` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceEntry>:32` | The namespace generated by component manager will be extended to include any namespace entries listed here before being given to the component's runner. If there are any conflicting entries, an error will occur when starting the component. |
| ### 3 | `dictionary` | `https://fuchsia.dev/reference/fuchsia.component.sandbox//https://fuchsia.dev/reference/fuchsia.component.sandbox#DictionaryRef` | A dictionary that contains extra capabilities for the component instance. This field should be considered deprecated in favor of `additional_inputs`. If both are set, an `INVALID_ARGUMENTS` error will be returned. Added: HEAD |
| ### 4 | `additional_inputs` | `handle<eventpair>` | A handle to a dictionary created using fuchsia.component.runtime.Capabilities that contains additional capabilities that should be added to the inputs of the started program. Added: HEAD |

### StartedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=140)*

Payload for Started events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

### StoppedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=144)*

Payload for Stopped events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `status` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Result` | The epitaph set on the fuchsia.component.runner/ComponentController protocol channel. This is the exit status of the component. The possible status values and their meaning are described in the definition of the ComponentController protocol. |
| ### 2 | `exit_code` | `int64` | The exit code of the component instance. Note that not all components will stop with an exit code. Many program runtimes have the concept of an exit code. Runners may map that value to this field when applicable. For example, the ELF runner will publish the Zircon process return code here. Added: 23 |

### StorageStatus

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=120)*

Metadata about status of the storage
Added: 30

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `total_size` | `uint64` |   |
| ### 2 | `used_size` | `uint64` |   |

### UnresolvedPayload

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=136)*

Payload for Unresolved events.
Added: 11

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|

## **UNIONS**

### Controller_Destroy_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=76)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_Destroy_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Controller_GetExposedDictionary_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=54)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_GetExposedDictionary_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Controller_GetOutputDictionary_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=61)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_GetOutputDictionary_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Controller_IsStarted_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=30)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_IsStarted_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Controller_OpenExposedDir_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=50)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_OpenExposedDir_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Controller_Start_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/controller.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=27)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Controller_Start_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### EventPayload [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=63)*

Encapsulates additional data/protocols for some event types.
Added: 11

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `capability_requested` | `https://fuchsia.dev/reference/fidl/fuchsia.component#CapabilityRequestedPayload` | Payload for CapabilityRequested events |
| ### 2 | `purged` | `https://fuchsia.dev/reference/fidl/fuchsia.component#PurgedPayload` | Payload for Purged events. |
| ### 4 | `discovered` | `https://fuchsia.dev/reference/fidl/fuchsia.component#DiscoveredPayload` | Payload for Discovered events. Deprecated: 22 |
| ### 5 | `destroyed` | `https://fuchsia.dev/reference/fidl/fuchsia.component#DestroyedPayload` | Payload for Destroyed events. |
| ### 6 | `resolved` | `https://fuchsia.dev/reference/fidl/fuchsia.component#ResolvedPayload` | Payload for Resolved events |
| ### 7 | `started` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StartedPayload` | Payload for Started events |
| ### 8 | `stopped` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StoppedPayload` | Payload for Stopped events |
| ### 9 | `debug_started` | `https://fuchsia.dev/reference/fidl/fuchsia.component#DebugStartedPayload` | Payload for DebugStarted events |
| ### 10 | `unresolved` | `https://fuchsia.dev/reference/fidl/fuchsia.component#UnresolvedPayload` | Payload for Unresolved events |

<br />

### Introspector_GetMoniker_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/introspector.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/introspector.fidl;l=27)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Introspector_GetMoniker_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Namespace_Create2_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=59)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Namespace_Create2_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceError` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Namespace_Create_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/namespace.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/namespace.fidl;l=52)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Namespace_Create_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#NamespaceError` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Realm_CreateChild_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=92)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_CreateChild_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_DestroyChild_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=107)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_DestroyChild_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_GetChildOutputDictionaryDeprecated_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=137)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetChildOutputDictionaryDeprecated_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_GetChildOutputDictionary_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=146)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetChildOutputDictionary_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_GetResolvedInfo_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible) [resource](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#value-vs-resource)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=130)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_GetResolvedInfo_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_ListChildren_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=125)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_ListChildren_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_OpenController_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=47)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_OpenController_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### Realm_OpenExposedDir_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=66)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Realm_OpenExposedDir_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### StorageAdmin_DeleteAllStorageContents_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=101)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_DeleteAllStorageContents_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#DeletionError` |   |

<br />

### StorageAdmin_DeleteComponentStorage_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=87)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_DeleteComponentStorage_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### StorageAdmin_GetStatus_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=91)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageStatus` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StatusError` |   |

<br />

### StorageAdmin_ListStorageInRealm_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=70)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_ListStorageInRealm_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### StorageAdmin_OpenComponentStorageById_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=78)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_OpenComponentStorageById_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

### StorageAdmin_OpenStorage_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.component/storage_admin.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=58)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.component#StorageAdmin_OpenStorage_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.component#Error` |   |

<br />

## **CONSTANTS**

| Name | Value | Type | Description |
|---|---|---|---|
| [MAX_CAPABILITY_ID_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=13) | `50` | `uint64` | The maximum string length of a capability ID. This value is currently set arbitrarily. Added: 11 |
| [MAX_CHILD_COUNT](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=24) | `128` | `uint32` | The maximum number of children that the a call `ChildIterator.Next` can return. Note, this is not a limit on the number of children that can be added to a component. This is merely a limit for a single invocation of the `Next` method. |
| [MAX_CHILD_NAME_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=13) | `1024` | `uint32` |   |
| [MAX_DYNAMIC_OFFER_COUNT](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=17) | `128` | `uint32` | The maximum number of dynamic offers that can target a created component. |
| [MAX_ERROR_DESCRIPTION_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/events.fidl;l=17) | `100` | `uint64` | The maximum string length of an error description. Added: 11 |
| [MAX_HANDLE_COUNT](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/realm.fidl;l=14) | `128` | `uint32` | The maximum number of handles that can be passed to a created component. |
| [MAX_MONIKER_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=20) | `4096` | `uint32` |   |
| [MAX_NAMESPACE_COUNT](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/controller.fidl;l=12) | `32` | `uint32` | Added: 14 |
| [MAX_NAME_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=11) | `https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#MAX_NAME_LENGTH` | `uint64` | Added: 19 |
| [MAX_NUM_EVENTS_RECEIVED](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=31) | `100` | `uint64` | The maximum number of events that a receiver can listen to. |
| [MAX_PATH_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=18) | `https://fuchsia.dev/reference/fuchsia.io//https://fuchsia.dev/reference/fuchsia.io#MAX_PATH_LENGTH` | `uint64` | Added: 15 |
| [MAX_STORAGE_ID_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/storage_admin.fidl;l=12) | `64` | `uint32` | The maximum length of a storage instance ID. A storage instance ID is a 256-bit UUID, which when encoded in hex notation is 64 characters long. Added: 30 |
| [MAX_SUBSCRIPTION_REQUESTS](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=28) | `2` | `uint32` | The maximum number of requests per event subscription. |
| [MAX_URL_SCHEME_LENGTH](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/constants.fidl;l=25) | `https://fuchsia.dev/reference/fidl/fuchsia.component#MAX_NAME_LENGTH` | `uint64` | Added: 19 |

## **ALIASES**

| Name | Value | Description |
|---|---|---|
| [child_name](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/types.fidl;l=6) | `string`\[`https://fuchsia.dev/reference/fidl/fuchsia.component#MAX_CHILD_NAME_LENGTH`\] |   |
| [name](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/types.fidl;l=7) | `string`\[`https://fuchsia.dev/reference/fidl/fuchsia.component#MAX_NAME_LENGTH`\] |   |
| [url_scheme](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component/types.fidl;l=8) | `string`\[`https://fuchsia.dev/reference/fidl/fuchsia.component#MAX_URL_SCHEME_LENGTH`\] |   |