Profiles Service
Beta feature
The Configuration Profiles feature is in beta state for release 1.12. Please contact Tetrate if you have any questions or concerns.
Profiles
The Profiles service exposes methods to manage the profiles that exist in TSB.
CreateProfile
GetProfile
UpdateProfile
ListProfiles
ListAvailableProfiles
DeleteProfile
Blame
CurrentImpactAnalysis
ImpactAnalysis
BlameRequest
Request to gather profile blame data for a given resource.
Field | Description | Validation Rule |
---|---|---|
fqn | string | string = { |
BlameResponse
effectiveProfileMandatedPaths:
- authenticationSettings
- authenticationSettings.trafficMode
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
effectiveProfileConfig
</td>
<td>
[tetrateio.api.tsb.profile.v2.ProfileConfig](../../../tsb/profile/v2/profile#tetrateio-api-tsb-profile-v2-profileconfig) <br/> The resolved profile computed from all the attached profiles to the resource.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
effectiveProfilePaths
</td>
<td>
map\<[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar), [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar)\> <br/> Map of profile config field paths to the resource FQNs that set the value at that path.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
effectiveProfileMandatedPaths
</td>
<td>
List of [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> Subset of the effective paths which values are set by mandates.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
effectiveProfileAttachmentPaths
</td>
<td>
map\<[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar), [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar)\> <br/> Like effective_profile_paths, but the FQNs are from the resources that attach the profiles.
</td>
<td>
–
</td>
</tr>
</table>
## CreateProfileRequest \{#tetrateio-api-tsb-profile-v2-createprofilerequest}
Request to create a profile belonging to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
parent
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> Parent resource where the Profile will be created.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
<tr>
<td>
name
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> The short name for the resource to be created.
</td>
<td>
string = \{<><br/> min_len: `1`<br/> max_len: `63`<br/> pattern: `^[a-z0-9]([a-z0-9-]*[a-z0-9])?$`<br/></>\}<br/>
</td>
</tr>
<tr>
<td>
profile
</td>
<td>
[tetrateio.api.tsb.profile.v2.Profile](../../../tsb/profile/v2/profile#tetrateio-api-tsb-profile-v2-profile) <br/> _REQUIRED_ <br/> Details of the profile to be created.
</td>
<td>
message = \{<><br/> required: `true`<br/></>\}<br/>
</td>
</tr>
</table>
## CurrentImpactAnalysisRequest \{#tetrateio-api-tsb-profile-v2-currentimpactanalysisrequest}
CurrentImpactAnalysisRequest holds the fields needed to request the current impact of a
profile or a attached profiles to a resource.
Only one of the fields should be set at a time.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
profile
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> Profile fqn to analyze the impact.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
resource
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> Resource fqn to analyze its attached profiles impact.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
fieldPaths
</td>
<td>
List of [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _OPTIONAL_ <br/> List of field paths to analyze the impact of the profiles on. If this field is set,
the request will analyze the impact of the profiles only on the specified field paths.
</td>
<td>
–
</td>
</tr>
</table>
## DeleteProfileRequest \{#tetrateio-api-tsb-profile-v2-deleteprofilerequest}
Request to delete a specific profile belonging to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> Fully-qualified name of the profile.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
<tr>
<td>
force
</td>
<td>
[bool](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> Force the deletion of the object even if deletion protection is enabled.
</td>
<td>
–
</td>
</tr>
</table>
## ExistingProfile \{#tetrateio-api-tsb-profile-v2-existingprofile}
ExistingProfile represents a request to analyze the impact of an existing profile.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> The fully-qualified name (FQN) of the profile impact is being analyzed.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
</table>
## ExistingResource \{#tetrateio-api-tsb-profile-v2-existingresource}
ExistingResource represents a request to analyze the impact of the attached profiles of a resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> The fully-qualified name (FQN) of the resource to which profiles are attached. This is used to identify
the resource whose attached profiles will be analyzed for impact.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
</table>
## GetProfileRequest \{#tetrateio-api-tsb-profile-v2-getprofilerequest}
Request to retrieve a profile belonging to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> Fully-qualified name of the profile.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
</table>
## Impact \{#tetrateio-api-tsb-profile-v2-impact}
Impact represents a single impact on a field. It specifies how a profile
affects a field and the type of the impact (e.g., effective or overridden).
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fieldPath
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> The path to the field that is impacted by the profile. This path uniquely
identifies the field within the resource.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
type
</td>
<td>
[tetrateio.api.tsb.profile.v2.Impact.ImpactType](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impact-impacttype) <br/> The type of the impact. This defines whether the profile's impact on the field
is effective or overridden by other configurations.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
source
</td>
<td>
[tetrateio.api.tsb.profile.v2.Impact.Source](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impact-source) <br/> The source of the impact.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
stringValue
</td>
<td>
[google.protobuf.StringValue](https://protobuf.dev/reference/protobuf/google.protobuf/#google.protobuf.StringValue) <sup><a href="https://developers.google.com/protocol-buffers/docs/proto3#oneof" target="_blank">_oneof_</a> __value_</sup> <br/> The value of the field that is impacted by the profile.
</td>
<td>
–
</td>
</tr>
</table>
### Source \{#tetrateio-api-tsb-profile-v2-impact-source}
The source of the impact. This specifies where the impact originated from,
such as a profile default, a profile mandate, or a configuration setting.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> The fully-qualified name (FQN) of the resource that impacts the field.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
type
</td>
<td>
[tetrateio.api.tsb.profile.v2.Impact.Source.Type](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impact-source-type) <br/> The type of the impact source.
</td>
<td>
–
</td>
</tr>
</table>
## ImpactAnalysis \{#tetrateio-api-tsb-profile-v2-impactanalysis}
ImpactAnalysis represents the impact of a profile on a resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
effectiveImpactsCount
</td>
<td>
[int32](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> The number of effective impacts, which refers to the number of fields
that are directly impacted by the profile being analyzed.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
overriddenImpactsCount
</td>
<td>
[int32](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> The number of overridden impacts, which refers to fields that have been
impacted by another configuration, such as another profile or settings like
organization default setting, tenant default settings, workspace default settings,
traffic settings, etc.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
impacts
</td>
<td>
List of [tetrateio.api.tsb.profile.v2.Impact](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impact) <br/> The list of individual impacts that were detected during the analysis.
Each impact corresponds to a field that is affected by the profile.
</td>
<td>
–
</td>
</tr>
</table>
## ImpactAnalysisRequest \{#tetrateio-api-tsb-profile-v2-impactanalysisrequest}
ImpactAnalysisRequest holds the fields needed to request the impact of a
profile modification or profile attachment modification in a resource.
Only one of the fields should be set at a time.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
modifyProfile
</td>
<td>
[tetrateio.api.tsb.profile.v2.ModifyProfile](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-modifyprofile) <br/> Request to analyze the impact of modifying an existing profile.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
modifyAttachedProfiles
</td>
<td>
[tetrateio.api.tsb.profile.v2.ModifyAttachedProfiles](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-modifyattachedprofiles) <br/> Request to analyze the impact of modifying the attached profiles of a resource.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
fieldPaths
</td>
<td>
List of [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _OPTIONAL_ <br/> List of field paths to analyze the impact of the profiles on. If this field is set,
the request will analyze the impact of the profiles only on the specified field paths.
</td>
<td>
–
</td>
</tr>
</table>
## ImpactAnalysisResponse \{#tetrateio-api-tsb-profile-v2-impactanalysisresponse}
ImpactAnalysisResponse represents the response to the ImpactAnalysisRequest.
It contains detailed information about the impacts of the analyzed profiles.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> The fully-qualified name (FQN) of the resource impacted.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
current
</td>
<td>
[tetrateio.api.tsb.profile.v2.ImpactAnalysis](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impactanalysis) <br/> The impact analysis of a current profile or profile attachment.
</td>
<td>
–
</td>
</tr>
<tr>
<td>
modified
</td>
<td>
[tetrateio.api.tsb.profile.v2.ImpactAnalysis](../../../tsb/profile/v2/profile_service#tetrateio-api-tsb-profile-v2-impactanalysis) <br/> The impact analysis of a profile or profile attachment modification.
</td>
<td>
–
</td>
</tr>
</table>
## ListAvailableProfilesRequest \{#tetrateio-api-tsb-profile-v2-listavailableprofilesrequest}
Request to list available profiles that can be attached to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> Resource fqn where the Profiles can be attached.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
</table>
## ListAvailableProfilesResponse \{#tetrateio-api-tsb-profile-v2-listavailableprofilesresponse}
List of profiles that can be attached to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
profiles
</td>
<td>
List of [tetrateio.api.tsb.profile.v2.Profile](../../../tsb/profile/v2/profile#tetrateio-api-tsb-profile-v2-profile) <br/> List of profiles.
</td>
<td>
–
</td>
</tr>
</table>
## ListProfilesRequest \{#tetrateio-api-tsb-profile-v2-listprofilesrequest}
Request to list profiles belonging to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
parent
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> Parent resource where the Profiles to list are created.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
</table>
## ListProfilesResponse \{#tetrateio-api-tsb-profile-v2-listprofilesresponse}
List of profiles belonging to a given resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
profiles
</td>
<td>
List of [tetrateio.api.tsb.profile.v2.Profile](../../../tsb/profile/v2/profile#tetrateio-api-tsb-profile-v2-profile) <br/> List of profiles.
</td>
<td>
–
</td>
</tr>
</table>
## ModifyAttachedProfiles \{#tetrateio-api-tsb-profile-v2-modifyattachedprofiles}
ModifyAttachedProfiles represents a request to analyze the impact of modifying
the attached profiles of a resource.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> The fully-qualified name (FQN) of the resource to which profiles are attached.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
<tr>
<td>
profiles
</td>
<td>
List of [string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> A list of profiles attached to the resource that will be analyzed for impact.
These profiles are used to propagate default and mandatory configurations to
child resources, and any changes to them will be reflected in the impact analysis.
</td>
<td>
–
</td>
</tr>
</table>
## ModifyProfile \{#tetrateio-api-tsb-profile-v2-modifyprofile}
ModifyProfile represents a request to analyze the impact of modifying a profile.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th class="description">Description</th>
<th>Validation Rule</th>
</tr>
</thead>
<tr>
<td>
fqn
</td>
<td>
[string](https://developers.google.com/protocol-buffers/docs/proto3#scalar) <br/> _REQUIRED_ <br/> The fully-qualified name (FQN) of the profile to analyze. This should refer to a specific profile in the system.
</td>
<td>
string = \{<><br/> min_len: `1`<br/></>\}<br/>
</td>
</tr>
<tr>
<td>
profile
</td>
<td>
[tetrateio.api.tsb.profile.v2.Profile](../../../tsb/profile/v2/profile#tetrateio-api-tsb-profile-v2-profile) <br/> _REQUIRED_ <br/> The updated profile configuration. This contains the profile that will be modified,
and its changes will be analyzed for impact.
</td>
<td>
–
</td>
</tr>
</table>
### ImpactType \{#tetrateio-api-tsb-profile-v2-impact-impacttype}
Enum representing the different types of impact a profile can have on a field.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th>Number</th>
<th class="description">Description</th>
</tr>
</thead>
<tr>
<td>
UNKNOWN
</td>
<td>
0
</td>
<td>
The impact type is unknown or unspecified.
</td>
</tr>
<tr>
<td>
EFFECTIVE
</td>
<td>
1
</td>
<td>
The profile is effective on the field, meaning the profile directly sets
the field's value.
</td>
</tr>
<tr>
<td>
OVERRIDE
</td>
<td>
2
</td>
<td>
The field's value is overridden by another profile or configuration, but was
previously set by the profile being analyzed.
</td>
</tr>
</table>
#### Type \{#tetrateio-api-tsb-profile-v2-impact-source-type}
The type of the impact source.
<div class="generated-table"></div>
<table>
<thead>
<tr>
<th>Field</th>
<th>Number</th>
<th class="description">Description</th>
</tr>
</thead>
<tr>
<td>
INVALID
</td>
<td>
0
</td>
<td>
The impact source is unknown or unspecified.
</td>
</tr>
<tr>
<td>
DEFAULT
</td>
<td>
1
</td>
<td>
The impact source is a profile default.
</td>
</tr>
<tr>
<td>
MANDATE
</td>
<td>
2
</td>
<td>
The impact source is a profile mandate.
</td>
</tr>
<tr>
<td>
SETTINGS
</td>
<td>
3
</td>
<td>
The impact source is configuration setting.
</td>
</tr>
</table>