cloudera.services.atlas_relationship_def module – Manage relationship type definitions in Apache Atlas
Note
This module is part of the cloudera.services collection (version 1.0.0).
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install git+https://github.com/cloudera-labs/cloudera.services.git.
To use it in a playbook, specify: cloudera.services.atlas_relationship_def.
New in cloudera.services 1.1.0
Synopsis
Create, update, or delete relationship type definitions in Apache Atlas.
A relationship type connects two entity types through named ends.
Parameters
Parameter |
Comments |
|---|---|
Attributes of the relationship; Atlas only allows primitive types. Replaces the existing attributes; Atlas may reject removing attributes that are in use. Unset suboptions keep the value Atlas already holds for an attribute of the same name. |
|
Cardinality of the attribute. Choices:
|
|
Constraints on the attribute. |
|
Parameters of the constraint. Keys are sent to Atlas verbatim. |
|
Type of the constraint, e.g. |
|
Default value of the attribute. |
|
Description of the attribute. |
|
Display name of the attribute. |
|
Whether changes to the attribute are included in notifications. Choices:
|
|
Index type of the attribute. Choices:
|
|
Whether the attribute is indexed. Choices:
|
|
Whether a value is optional. Choices:
|
|
Whether values must be unique. Choices:
|
|
Name of the attribute. |
|
Free-form map of string options for the attribute. Keys are sent to Atlas verbatim. |
|
Search weight of the attribute. |
|
Name of the attribute type, e.g. |
|
Maximum number of values. |
|
Minimum number of values. |
|
The path to a client certificate for authenticating to the API endpoint. |
|
The path to a client key for authenticating to the API endpoint. |
|
A flag to enable debug logging of the module’s execution. Choices:
|
|
Description of the relationship type definition. |
|
First end of the relationship. Atlas requires both ends when creating a relationship type. Unset suboptions keep the value Atlas already holds. |
|
Cardinality of this end. Choices:
|
|
Description of this end. |
|
Whether this end is the container of the relationship. Choices:
|
|
Whether this end is backed by an existing entity attribute. Choices:
|
|
Name of the relationship attribute Atlas adds to the entity type at this end. |
|
Name of the entity type at this end. |
|
Second end of the relationship. Atlas requires both ends when creating a relationship type. Unset suboptions keep the value Atlas already holds. |
|
Cardinality of this end. Choices:
|
|
Description of this end. |
|
Whether this end is the container of the relationship. Choices:
|
|
Whether this end is backed by an existing entity attribute. Choices:
|
|
Name of the relationship attribute Atlas adds to the entity type at this end. |
|
Name of the entity type at this end. |
|
A flag to force a refresh of the API request, ignoring any cached results. Choices:
|
|
A flag to force basic authentication for API requests. Choices:
|
|
The User-Agent string to send with API requests. Default: |
|
Name of the relationship type definition. Required when |
|
Free-form map of string options for the type definition. Keys are sent to Atlas verbatim. |
|
The number of items to return per page in a paginated API response. Default: |
|
Direction in which classifications propagate across the relationship. Choices:
|
|
UML-style category of the relationship.
Choices:
|
|
Label Atlas uses for edges of this relationship. Atlas assigns a label when unset. |
|
Name of the service that owns the type definition. |
|
Whether the relationship type definition should be present or absent. Choices:
|
|
The timeout in seconds for any API requests. Default: |
|
Version label of the type definition, e.g. |
|
The base URL of the API endpoint, including the port if necessary. |
|
The password for authenticating to the API endpoint. |
|
The username for authenticating to the API endpoint. |
|
A flag to enable or disable GSSAPI authentication for API requests. Choices:
|
|
A flag to enable or disable the use of a proxy for API requests. Choices:
|
|
A flag to enable or disable SSL certificate validation for API requests. Choices:
|
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: full |
This module supports check mode. |
|
Support: full |
This module supports diff mode. |
Examples
# NOTE: Examples do not include connection and authentication fields
- name: Create a relationship type definition
cloudera.services.atlas_relationship_def:
name: team_members
description: Members of a team
relationship_category: ASSOCIATION
propagate_tags: NONE
end_def1:
type: team
name: members
cardinality: SET
is_container: true
end_def2:
type: person
name: teams
cardinality: SET
- name: Create a composition relationship where deleting the container deletes its parts
cloudera.services.atlas_relationship_def:
name: table_columns
relationship_category: COMPOSITION
end_def1:
type: table
name: columns
cardinality: SET
is_container: true
end_def2:
type: column
name: table
cardinality: SINGLE
- name: Create a relationship that propagates classifications in both directions
cloudera.services.atlas_relationship_def:
name: dataset_consumers
relationship_category: ASSOCIATION
propagate_tags: BOTH
end_def1:
type: dataset
name: consumers
cardinality: SET
end_def2:
type: application
name: datasets
cardinality: SET
- name: Create a relationship with attributes of its own
cloudera.services.atlas_relationship_def:
name: team_members
relationship_category: ASSOCIATION
end_def1:
type: team
name: members
cardinality: SET
end_def2:
type: person
name: teams
cardinality: SET
attribute_defs:
- name: role
type_name: string
is_optional: true
- name: joined
type_name: date
is_optional: true
- name: Change only how classifications propagate, keeping the ends as they are
cloudera.services.atlas_relationship_def:
name: team_members
propagate_tags: ONE_TO_TWO
- name: Change the cardinality of one end, keeping its other fields as they are
cloudera.services.atlas_relationship_def:
name: team_members
end_def1:
type: team
name: members
cardinality: LIST
- name: Preview a change without applying it
cloudera.services.atlas_relationship_def:
name: team_members
description: Members of a team, with their roles
check_mode: true
diff: true
register: preview
- name: Remove a relationship type definition
cloudera.services.atlas_relationship_def:
name: team_members
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
The relationship type definition. Returned: when |
|
Attributes of the relationship. Returned: success |
|
Cardinality of the attribute. Returned: success |
|
Constraints on the attribute. Returned: success |
|
Parameters of the constraint. Returned: success |
|
Type of the constraint. Returned: success |
|
Default value of the attribute. Returned: success |
|
Description of the attribute. Returned: success |
|
Display name of the attribute. Returned: success |
|
Whether changes are included in notifications. Returned: success |
|
Index type of the attribute. Returned: success |
|
Whether the attribute is indexed. Returned: success |
|
Whether a value is optional. Returned: success |
|
Whether values must be unique. Returned: success |
|
Name of the attribute. Returned: success |
|
Free-form options of the attribute. Returned: success |
|
Search weight of the attribute. Returned: success |
|
Name of the attribute type. Returned: success |
|
Maximum number of values. Returned: success |
|
Minimum number of values. Returned: success |
|
Type category, always Returned: success |
|
Creation time in epoch milliseconds. Returned: success |
|
User that created the type definition. Returned: success |
|
Description of the relationship type definition. Returned: success |
|
First end of the relationship. Returned: success |
|
Cardinality of this end. Returned: success |
|
Description of this end. Returned: success |
|
Whether this end is the container of the relationship. Returned: success |
|
Whether this end is backed by an existing entity attribute. Returned: success |
|
Name of the relationship attribute at this end. Returned: success |
|
Name of the entity type at this end. Returned: success |
|
Second end of the relationship. Returned: success |
|
Cardinality of this end. Returned: success |
|
Description of this end. Returned: success |
|
Whether this end is the container of the relationship. Returned: success |
|
Whether this end is backed by an existing entity attribute. Returned: success |
|
Name of the relationship attribute at this end. Returned: success |
|
Name of the entity type at this end. Returned: success |
|
Atlas-assigned identifier. Returned: success |
|
Name of the relationship type definition. Returned: success |
|
Free-form options of the type definition. Returned: success |
|
Direction in which classifications propagate. Returned: success |
|
UML-style category of the relationship. Returned: success |
|
Label Atlas uses for edges of this relationship. Returned: success |
|
Name of the service that owns the type definition. Returned: success |
|
Version label of the type definition. Returned: success |
|
Last update time in epoch milliseconds. Returned: success |
|
User that last updated the type definition. Returned: success |
|
Atlas version number of the type definition. Returned: success |