# TraconProductionProfileOptions

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.traconproductionprofileoptions/
> Summary: TraconProductionProfileOptions: The risks a deployment has deliberately decided to carry, for RequireProductionProfile.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Core.dll</code></div>

The risks a deployment has deliberately decided to carry, for
`RequireProductionProfile`.

```csharp
public sealed class TraconProductionProfileOptions
```

<dl class="api-relations"><dt>Inheritance</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ← <a href="/api/tracon.traconproductionprofileoptions/">TraconProductionProfileOptions</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Remarks

Acceptance is per item and by name. There is no "accept everything" switch
and none will be added: a blanket accept turns the gate back into the
silence it exists to remove, while one `Accept` line per decision shows
up in a code review and in the log.

Accepting a risk does not change any setting. It records that a human
looked at the decision and chose the permissive side.

## Constructors

### <a id="Tracon_TraconProductionProfileOptions__ctor"></a> TraconProductionProfileOptions\(\)

```csharp
public TraconProductionProfileOptions()
```

## Properties

### <a id="Tracon_TraconProductionProfileOptions_AcceptedRisks"></a> AcceptedRisks

Gets the risks the deployment accepted, in no particular order.

```csharp
public IReadOnlyCollection<TraconProductionRisk> AcceptedRisks { get; }
```

#### Property Value

 [IReadOnlyCollection](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlycollection\-1)<[TraconProductionRisk](/api/tracon.traconproductionrisk/)\>

## Methods

### <a id="Tracon_TraconProductionProfileOptions_Accept_Tracon_TraconProductionRisk_"></a> Accept\(TraconProductionRisk\)

Accepts one risk, so it no longer stops the host.

```csharp
public TraconProductionProfileOptions Accept(TraconProductionRisk risk)
```

#### Parameters

`risk` [TraconProductionRisk](/api/tracon.traconproductionrisk/)

The decision being accepted.

#### Returns

 [TraconProductionProfileOptions](/api/tracon.traconproductionprofileoptions/)

The same options, for chaining.

#### Remarks

Accepting the same risk twice is a no-op, so a composition module that
declares an accept cannot collide with another that declares the same
one. The acceptance is written to the log at information level, by name,
every time the host starts.

#### Exceptions

 [ArgumentOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.argumentoutofrangeexception)

`risk` is not a defined value.
