in src/dfcx_scrapi/core/entity_types.py [0:0]
def update_entity_type(
self,
entity_type_id: str = None,
obj: types.EntityType = None,
language_code: str = None,
**kwargs):
"""Update a single CX Entity Type object.
Pass in a the Entity Type ID and the specified kwargs for the
parameters in Entity Types object that you want updated. If you do not
provide an Entity Type object, the object will be fetched based on the
ID provided. Optionally, you can include a pre-made Entity Type object
that will be used to replace some of the parameters in the existing
Entity Type object as defined by the kwargs provided.
Args:
entity_type_id: CX Entity Type ID in proper format
obj: (Optional) a CX Entity Type object of types.EntityType
language_code: Language code of the intents being uploaded. Ref:
https://cloud.google.com/dialogflow/cx/docs/reference/language
Returns:
A copy of the updated Entity Type object
"""
if obj:
entity_type = obj
entity_type.name = entity_type_id
else:
if not entity_type_id:
entity_type_id = self.entity_id
entity_type = self.get_entity_type(entity_type_id)
# set entity type attributes to args
for key, value in kwargs.items():
setattr(entity_type, key, value)
paths = kwargs.keys()
mask = field_mask_pb2.FieldMask(paths=paths)
client_options = self._set_region(entity_type_id)
client = services.entity_types.EntityTypesClient(
credentials=self.creds, client_options=client_options
)
request = types.entity_type.UpdateEntityTypeRequest()
request.entity_type = entity_type
request.update_mask = mask
if language_code:
request.language_code = language_code
response = client.update_entity_type(request)
return response