Documentation

組織リストの API エンドポイント

このリソースに GET リクエストを実行して、組織リストを取得します。

GET /api/v2/organizations/
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
X-API-Node: localhost
X-API-Time: 0.138s

返されるデータ構造には以下のものが含まれます。

{
    "count": 99,
    "next": null,
    "previous": null,
    "results": [
        ...
    ]
}

count フィールドはクエリーで見つかった組織の合計数を示します。next および previous フィールドは、単一ページに収まらない結果がある場合に、それらの結果へのリンクを提供します。results には組織のレコードが一覧表示されますが、ゼロの場合もあります。

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 1,
            "type": "organization",
            "url": "/api/v2/organizations/1/",
            "related": {
                "created_by": "/api/v2/users/1/",
                "modified_by": "/api/v2/users/1/",
                "workflow_job_templates": "/api/v2/organizations/1/workflow_job_templates/",
                "notification_templates_error": "/api/v2/organizations/1/notification_templates_error/",
                "notification_templates_success": "/api/v2/organizations/1/notification_templates_success/",
                "users": "/api/v2/organizations/1/users/",
                "object_roles": "/api/v2/organizations/1/object_roles/",
                "notification_templates_any": "/api/v2/organizations/1/notification_templates_any/",
                "teams": "/api/v2/organizations/1/teams/",
                "access_list": "/api/v2/organizations/1/access_list/",
                "notification_templates": "/api/v2/organizations/1/notification_templates/",
                "admins": "/api/v2/organizations/1/admins/",
                "instance_groups": "/api/v2/organizations/1/instance_groups/",
                "credentials": "/api/v2/organizations/1/credentials/",
                "inventories": "/api/v2/organizations/1/inventories/",
                "activity_stream": "/api/v2/organizations/1/activity_stream/",
                "projects": "/api/v2/organizations/1/projects/"
            },
            "summary_fields": {
                "created_by": {
                    "id": 1,
                    "username": "admin",
                    "first_name": "",
                    "last_name": ""
                },
                "modified_by": {
                    "id": 1,
                    "username": "admin",
                    "first_name": "",
                    "last_name": ""
                },
                "object_roles": {
                    "auditor_role": {
                        "id": 6,
                        "description": "Can view all settings for the organization",
                        "name": "Auditor"
                    },
                    "admin_role": {
                        "id": 4,
                        "description": "Can manage all aspects of the organization",
                        "name": "Admin"
                    },
                    "member_role": {
                        "id": 3,
                        "description": "User is a member of the organization",
                        "name": "Member"
                    },
                    "read_role": {
                        "id": 5,
                        "description": "May view settings for the organization",
                        "name": "Read"
                    }
                },
                "user_capabilities": {
                    "edit": true,
                    "delete": true
                },
                "related_field_counts": {
                    "job_templates": 1,
                    "users": 0,
                    "teams": 0,
                    "admins": 0,
                    "inventories": 1,
                    "projects": 1
                }
            },
            "created": "2017-09-06T02:56:11.329Z",
            "modified": "2017-09-06T02:56:11.329Z",
            "name": "Default",
            "description": ""
        }
    ]
}

結果

各組織のデータ構造には以下のフィールドが含まれます。

  • id: 組織のデータベース ID (整数)
  • type: 組織のデータタイプ (選択)
  • url: 組織の URL (文字列)
  • related: 関連リソースの URL のあるデータ構造 (オブジェクト)
  • summary_fields: 関連リソースの名前/説明のあるデータ構造 (オブジェクト)
  • created: 組織作成時のタイムスタンプ (日時)
  • modified: 組織の最終更新時のタイムスタンプ (日時)
  • name: 組織の名前 (文字列)
  • description: 組織のオプションでの説明 (文字列)

並び替え

特定の順番で組織が返されることを指定するには、order_by クエリー文字列のパラメーターを GET リクエストで使用します。

?order_by=name

逆の順序に並び替えるには、フィールド名の前にダッシュ - を加えます。

?order_by=-name

フィールド名をコンマ , 区切りにすると、複数のフィールドの並び替えを指定できます。

?order_by=name,some_other_field

検索

モデルの指定された全テキストフィールド内で大文字小文字の区別のない検索を実行するには、search クエリー文字列のパラメーターを使用します。

?search=findme

関連フィールドを検索します (AWX 1.4 / Ansible Tower 3.1 で追加)。

?related__search=findme

フィルタリング

特定の値に一致する結果一覧に対して、追加のクエリー文字列パラメーターを使ってフィルタリングすることもできます。このフィルタリングに使用できるのは、データベースに存在するフィールドと関係のみです。指定された値の特殊文字は、エンコードされた URL にする必要があります。例を示します。

?field=value%20xyz

フィールドは関係にまで及ぶ可能性がありますが、その場合はデータベースで定義されたフィールドと関係に限定されます。

?other__field=value

特定の基準に一致する結果を除外するには、フィールドパラメーターの前に not__ を追加します。

?not__field=value

デフォルトでは、クエリー文字列フィルターはすべて AND 条件になっているので、すべての フィルターに一致する結果のみが返されます (AWX 1.4 で追加)。複数基準の いずれか に一致する結果にまとめるには、各クエリー文字列パラメーターの前に or__ を追加します。

?or__field=value&or__field=othervalue
?or__not__field=value&or__field=othervalue

デフォルトの AND 条件のフィルタリングでは、データベース関係全体でフィルタリングされている関連オブジェクトそれぞれに同時に全フィルターが適用されます (Ansible Tower 1.4.5 で追加) 。チェーンフィルター (chain) では、フィルターを個別に関連オブジェクトごとに適用します。これを使用するには、chain__ をクエリー文字列パラメーターの前に追加します。

?chain__related__field=value&chain__related__field2=othervalue
?chain__not__related__field=value&chain__related__field2=othervalue

上記で最初のクエリーが ?related__field=value&related__field2=othervalue となっていれば、同一の関連オブジェクトが両方の条件を満たしているプライマリーオブジェクトのみが返されますが、上記通りのチェーンフィルターを使用すると、各条件に一致するプライマリーオブジェクトの共通集合が返されます。

フィールド名に lookup を追加すると、より詳細なクエリーによるフィールドルックアップが可能になります。

?field__lookup=value

以下のフィールドのルックアップがサポートされています。

  • exact: 完全一致 (指定されない場合のデフォルトのルックアップ)
  • iexact: 大文字小文字の区別のない exact
  • contains: フィールドに値を含む
  • icontains: 大文字小文字の区別のない contains
  • startswith: 値で始まるフィールド
  • istartswith: 大文字小文字の区別のない startswith
  • endswith: 値で終わるフィールド
  • iendswith: 大文字小文字の区別のない endswith
  • regex: 特定の正規表現に一致するフィールド
  • iregex: 大文字小文字の区別のない regex
  • gt: Greater than の比較条件
  • gte: Greater than or equal to の比較条件
  • lt: Less than の比較条件
  • lte: Less than or equal to の比較条件
  • isnull: 特定フィールドもしくは関連オブジェクトが null かどうかをチェック。ブール値を想定
  • in: 特定フィールドの値が提供されたリストに存在するかどうかをチェック。アイテムのリストを想定

ブール値は true の場合 True または 1 を、false の場合は False または 0 を指定します (どちらも大文字小文字の区別なし)。

Null 値は None または Null (どちらも大文字小文字の区別なし) を指定できますが、isnull ルックアップを使用して明示的に null 値をチェックすることが推奨されます。

in ルックアップのリストは、値をコンマ区切りのリストとして指定することができます。

クエリー文字列のパラメーターによるユーザーのアクセスレベルのリクエストをベースにしたフィルタリング (Ansible Tower 3.1 で追加)。

  • role_level: フィルターをかけるロールのレベル。例、admin_role

組織の作成

新規組織を作成するには、以下の組織フィールドを使ってリソースに POST リクエストを実行します。

  • name: (文字列。必須)
  • description: (文字列。デフォルトは "")

オプションエンドポイントの確認

オプションエンドポイント テーブルでは、このエンドポイントのオプションを確認できます。ブラウザー表示が可能な API でエンドポイントを表示している場合は、「オプション」ボタンをクリックすると以下の raw JSON が表示されます。

name Organization List
description # List Organizations: Make a GET request to this resource to retrieve the list of organizations.
renders
0 application/json
1 text/html
parses
0 application/json
added_in_version 1.2
actions
POST
name
type string
required
true
label Name
max_length 512
help_text Name of this organization.
description
type string
required
false
label Description
help_text Optional description of this organization.
default (Empty Text)
GET
id
type integer
label ID
help_text Database ID for this organization.
type
type choice
label Type
help_text Data type for this organization.
choices
0
0 organization
1 Organization
url
type string
label URL
help_text URL for this organization.
related
type object
label Related
help_text Data structure with URLs of related resources.
summary_fields
type object
label Summary fields
help_text Data structure with name/description for related resources.
created
type datetime
label Created
help_text Timestamp when this organization was created.
modified
type datetime
label Modified
help_text Timestamp when this organization was last modified.
name
type string
label Name
help_text Name of this organization.
description
type string
label Description
help_text Optional description of this organization.
types
0 organization
search_fields
0 description
1 name