Back to top

Cloud Automator API

Cloud AutomatorのAPIです。

認証

Authorization: Bearer ヘッダーを利用して認証します。 認証に利用するAPIキーは、Cloud Automatorのアカウント設定から生成することができます。

curlでの実行例は以下になります。

$ curl https://manager.cloudautomator.com/api/v1/aws_accounts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 49046d4e374b77d8b0af0fd5959d4c11"

レスポンス形式

レスポンスボディの形式はJSON APIの仕様に準拠しています。

Resource Group

AWSアカウント

Create AwsAccount
POST/aws_accounts

新しいAWSアカウントを作成します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string required AWSアカウントの名前
account_number string required AWSアカウントナンバー
access_key_id string required AWSアクセスキーID
secret_access_key string required AWSシークレットアクセスキー

Example URI

POST https://manager.cloudautomator.com/api/v1/aws_accounts
Request  サンプルリクエスト
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "本番環境用AWSアカウント",
  "account_number": "111122223333",
  "access_key_id": "AKIAAAAABBBBCCCCDDDD",
  "secret_access_key": "eb48e3a73904d634803ad19e341bed77eb48e3a7"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "任意のAWSアカウント名"
    },
    "account_number": {
      "type": "string",
      "description": "AWSアカウントナンバー"
    },
    "access_key_id": {
      "type": "string",
      "description": "AWSアクセスキーID"
    },
    "secret_access_key": {
      "type": "string",
      "description": "AWSシークレットアクセスキー"
    }
  },
  "required": [
    "name",
    "account_number",
    "access_key_id",
    "secret_access_key"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "AwsAccounts",
    "attributes": {
      "name": "本番環境用AWSアカウント"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "AWSアカウントID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "AWSアカウント名"
            }
          }
        }
      },
      "description": "作成されたAWSアカウント"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Get AwsAccounts
GET/aws_accounts

複数のAWSアカウントを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/aws_accounts
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": "1",
      "type": "AwsAccounts",
      "attributes": {
        "name": "本番環境用AWSアカウント"
      }
    }
  ],
  "links": {
    "self": "https://manager.cloudautomator.com/api/v1/aws_accounts?page%5Bnumber%5D=1&page%5Bsize%5D=5",
    "next": "https://manager.cloudautomator.com/api/v1/aws_accounts?page%5Bnumber%5D=2&page%5Bsize%5D=5",
    "last": "https://manager.cloudautomator.com/api/v1/aws_accounts?page%5Bnumber%5D=3&page%5Bsize%5D=5"
  },
  "meta": {
    "total": 12
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "AWSアカウントの配列"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "string",
          "description": "現在の結果を指すURL"
        },
        "next": {
          "type": "string",
          "description": "次の結果を指すURL"
        },
        "last": {
          "type": "string",
          "description": "最後の結果を指すURL"
        }
      },
      "description": "ページネーションリンク"
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number",
          "description": "AWSアカウントの総数"
        }
      }
    }
  }
}

Get AwsAccount
GET/aws_accounts/{id}

1件のAWSアカウントを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/aws_accounts/1
URI Parameters
HideShow
id
number (required) Example: 1

AWSアカウントID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "AwsAccounts",
    "attributes": {
      "name": "本番環境用AWSアカウント"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "AWSアカウントID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "AWSアカウント名"
            }
          }
        }
      },
      "description": "AWSアカウント"
    }
  }
}

Edit AwsAccount
PATCH/aws_accounts/{id}

AWSアカウントの情報を更新します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string optional AWSアカウントの名前
account_number string optional AWSアカウントナンバー
access_key_id string optional AWSアクセスキーID
secret_access_key string optional AWSシークレットアクセスキー

Example URI

PATCH https://manager.cloudautomator.com/api/v1/aws_accounts/1
URI Parameters
HideShow
id
number (required) Example: 1

AWSアカウントID

Request  サンプルリクエスト
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "本番環境用AWSアカウント"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "変更後のAWSアカウント名"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "AwsAccounts",
    "attributes": {
      "name": "本番環境用AWSアカウント"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "AWSアカウントID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "AWSアカウント名"
            }
          }
        }
      },
      "description": "更新後のAWSアカウント"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Delete AwsAccount
DELETE/aws_accounts/{id}

AWSアカウントを削除します。

削除に成功した場合はステータスコード204 No Contentを返し、レスポンスボディは返しません。

Example URI

DELETE https://manager.cloudautomator.com/api/v1/aws_accounts/1
URI Parameters
HideShow
id
number (required) Example: 1

AWSアカウントID

Response  204
HideShow
Headers
Content-Type: application/json

ジョブ

Create Job
POST/jobs

新しいジョブを作成します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string required ジョブの名前
aws_account_id number required ジョブの実行時に使うAWSアカウントのID
※AWSのアカウントIDではなくCloud Automator上のID
rule_type string required トリガーのタイプ
cronなど
rule_value object required トリガーの設定値(後述)
action_type string required アクションのタイプ
create_imageなど
action_value object required アクションの設定値(後述)
action_value内のboolean型のパラメータは文字列で設定すること
例) “true” ==> OK true ==> NG
completed_post_process_id array[number] optional ジョブが成功した場合に実行する後処理IDが含まれる配列
例) [1, 2, 3, 4]
failed_post_process_id array[number] optional ジョブが失敗した場合に実行する後処理IDが含まれる配列
例) [1, 2, 3, 4]

トリガーのタイプとしてrule_typeに指定できるのは以下のいずれかです。

タイプ 説明 rule_valueの要否
cron タイマートリガー 必要
immediate_execution 即時実行トリガー 不要
webhook HTTPトリガー 不要
sqs SQSトリガー 必要
amazon_sns SNSトリガー 不要

トリガーのタイプがcronの場合のrule_valueの設定値

名前 必須かどうか 説明
hour number required ジョブを実行するタイミング(時)
0〜23
minutes number requierd ジョブを実行するタイミング(分)
0〜59
schedule_type string required スケジュールのタイプ
以下のいずれかが指定可能
one_time(一度きり)
weekly(毎週)
mronthly(毎月)
one_time_schedule string optional ジョブの実行年月日
yyyy/mm/dd形式
schedule_typeone_timeの場合必須
※現在時刻よりも未来であること
weekly_schedule array[string] optional ジョブの実行曜日
sunday〜saturdayまでの文字列を含む配列
例) [“monday”,“friday”]
schedule_typeweeklyの場合必須
monthly_schedule array[string] optional ジョブの実行日
1〜31
※該当日が月に存在しない場合はスキップ
例) 2月の31日など
schedule_typemonthlyの場合必須

トリガーのタイプがsqsの場合のrule_valueの設定値

名前 必須かどうか 説明
sqs_aws_account_id number required SQSキューが存在するAWSアカウント<>例) 1
※AWSのアカウントIDではなくCloud Automator上のID
sqs_region string required SQSキューが存在するリージョン
例) “ap-northeast-1”
queue string required SQSキュー名

アクションのタイプとしてaction_typeに指定できるのは以下のいずれかです。

タイプ 説明
authorise_security_group_ingress EC2: セキュリティグループにインバウンドルールを追加
change_instance_type EC2: インスタンスタイプを変更
copy_ebs_snapshot EC2: EBSスナップショットをリージョン間でコピー
copy_image EC2: AMIをリージョン間でコピー
create_ebs_snapshot EC2: EBSスナップショットを作成
create_image EC2: AMIを作成
create_rds_cluster_snapshot RDS(Aurora): DBクラスタースナップショットを作成
create_rds_snapshot RDS: DBスナップショットを作成
delete_cluster Redshift: クラスターを削除
delete_rds_cluster RDS(Aurora): DBクラスターを削除
delete_rds_instance RDS: DBインスタンスを削除
deregister_instances ELB(CLB): EC2インスタンスを登録解除
describe_metadata DR: EC2インスタンス情報を更新
disaster_recovery DR: EC2インスタンスを起動
register_instances ELB(CLB): EC2インスタンスを登録
restore_from_cluster_snapshot Redshift: スナップショットからリストア
restore_rds_cluster RDS(Aurora): DBクラスタースナップショットからリストア
restore_rds_instance RDS: DBスナップショットからリストア
revoke_security_group_ingress EC2: セキュリティグループからインバウンドルールを削除
send_command EC2: インスタンスでコマンドを実行
start_instances EC2: インスタンスを起動
stop_instances EC2: インスタンスを停止
terminate_workspaces WorkSpaces: WorkSpaceを削除
update_record_set Route 53: リソースレコードセットを更新
windows_update EC2: インスタンスをWindows Update

アクションのタイプがauthorise_security_group_ingressの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 変更対象のセキュリティグループが存在するAWSリージョン
specify_security_group string required - 対象のセキュリティグループの特定方法
セキュリティグループID: identifier
タグ: tag
security_group_id string optional - 対象のセキュリティグループID
specify_security_groupidentifierを指定した場合必須
tag_key string optional - セキュリティグループ特定に利用するタグのキー
specify_security_grouptagを指定した場合必須
tag_value string optional - セキュリティグループ特定に利用するタグの値
specify_security_grouptagを指定した場合必須
ip_protocol string required - 通信プロトコル
例) “tcp”
to_port string required - ポート番号
例) 80
cidr_ip string required - 送信元IPのCIDRアドレス
例) “172.31.0.0/16”

アクションのタイプがchange_instance_typeの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 変更対象のインスタンスが存在するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
instance_type string required - 変更後のインスタンスタイプ
例) “t2.medium”

アクションのタイプがcopy_ebs_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
source_region string required - EBSスナップショットのコピー元のAWSリージョン
destination_region string required - EBSスナップショットのコピー先のAWSリージョン
specify_ebs_snapshot string required - 対象のEBSスナップショットの特定方法
EBSスナップショットID: identifier
タグ: tag
snapshot_id string optional - 対象のEBSスナップショットID
specify_ebs_snapshotidentifierを指定した場合必須
tag_key string optional - EBSスナップショット特定に利用するタグのキー
specify_ebs_snapshottagを指定した場合必須
tag_value string optional - EBSスナップショット特定に利用するタグの値
specify_ebs_snapshottagを指定した場合必須
trace_status boolean optional false EBSスナップショットのコピー完了をジョブ完了の判定にするフラグ

アクションのタイプがcopy_imageの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
source_region string required - AMIのコピー元のAWSリージョン
destination_region string required - AMIのコピー先のAWSリージョン
specify_image string required - 対象のAMIの特定方法
EBSスナップショットID: identifier
タグ: tag
source_image_id string optional - 対象のAMIのID
specify_imageidentifierを指定した場合必須
tag_key string optional - AMI特定に利用するタグのキー
specify_imagetagを指定した場合必須
tag_value string optional - AMI特定に利用するタグの値
specify_imagetagを指定した場合必須
trace_status boolean optional false AMIのコピー完了をジョブ完了の判定にするフラグ

アクションのタイプがcopy_rds_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
source_region string required - DBスナップショットのコピー元のAWSリージョン
destination_region string required - DBスナップショットのコピー先のAWSリージョン
specify_rds_snapshot string required - 対象のDBスナップショットの特定方法
DBスナップショットID: identifier
RDSインスタンスID: source_rds_instance_id
rds_snapshot_id string optional - 対象のDBスナップショットID
specify_rds_snapshotidentifierを指定した場合必須
source_rds_instance_id string optional - 対象のRDSインスタンスID
specify_rds_snapshotsource_rds_instance_idを指定した場合必須
trace_status boolean optional false DBスナップショットのコピー完了をジョブ完了の判定にするフラグ

アクションのタイプがcreate_ebs_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - EBSスナップショットを作成するAWSリージョン
specify_volume string required - 対象のEBSボリュームの特定方法
ボリュームID: identifier
タグ: tag
volume_id string optional - 対象のEBSボリュームID
specify_volumeidentifierを指定した場合必須
tag_key string optional - EBSボリューム特定に利用するタグのキー
specify_volumetagを指定した場合必須
tag_value string optional - EBSボリューム特定に利用するタグの値
specify_volumetagを指定した場合必須
generation number required - EBSボリュームの世代管理を行う数(1〜50)
description string optional - EBSボリュームに設定する説明
additional_tag_key string optional - 作成したEBSボリュームに割り当てるタグのキー
additional_tag_value string optional - 作成したEBSボリュームに割り当てるタグの値
trace_status boolean optional false EBSボリュームの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがcreate_imageの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - AMIを作成するAWSリージョン
specify_image_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
generation number required - AMIの世代管理を行う数(1~50)
image_name string required - AMIに設定するイメージ名
description string optional - AMIに設定する説明
reboot_instance boolean required - AMI 作成時にインスタンスを再起動するか否かのフラグ
additional_tag_key string optional - 作成した AMI に割り当てるタグのキー
additional_tag_value string optional - 作成した AMI に割り当てるタグの値
add_same_tag_to_snapshot boolean optional false AMIに割り当てたタグをEBSスナップショットにも追加するか否かのフラグ
trace_status boolean optional false AMIの作成完了をジョブ完了の判定にするフラグ
recreate_image_if_ami_status_failed boolean optional false ジョブ失敗時にリトライを行うか否かのフラグ

アクションのタイプがcreate_rds_cluster_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBクラスタースナップショットを作成するAWSリージョン
specify_rds_cluster string required - 対象のDBクラスターの特定方法
DBクラスターID: identifier
タグ: tag
db_cluster_identifier string optional - DBクラスターの特定に利用するID
specify_rds_clusteridentifierを指定した場合必須
tag_key string optional - DBクラスターの特定に利用するタグのキー
specify_rds_clustertagを指定した場合必須
tag_value string optional - DBクラスターの特定に利用するタグの値
specify_rds_clustertagを指定した場合必須
db_cluster_snapshot_identifier string required - 作成する DB クラスタースナップショットのプレフィックス
generation number required - DBクラスタースナップショットの世代管理を行う数(1〜50)
trace_status boolean optional false DBクラスタースナップショットの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがcreate_rds_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBスナップショットを作成するAWSリージョン
specify_rds_instance string required - 対象のRDSインスタンスの特定方法
ボリュームID: identifier
タグ: tag
rds_snapshot_id string required - DBスナップショットに設定する名前
例) “rds-snapshot”
rds_instance_id string optional - 対象のRDSインスタンスID
specify_rds_instanceidentifierを指定した場合必須
tag_key string optional - RDSインスタンス特定に利用するタグのキー
specify_rds_instancetagを指定した場合必須
tag_value string optional - RDSインスタンス特定に利用するタグの値
specify_rds_instancetagを指定した場合必須
generation number required - DBスナップショットの世代管理を行う数(1〜50)
trace_status boolean optional false DBスナップショットの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがdelete_clusterの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - Redshiftクラスターを削除するAWSリージョン
cluster_identifier string required - 対象のRedshiftクラスターのidentifier
final_cluster_snapshot_identifier string required - Redshiftクラスター削除時に取得するRedshiftクラスタースナップショット名
skip_final_cluster_snapshot boolean required - Redshiftクラスター削除時のRedshiftクラスタースナップショット取得をスキップするか
trace_status boolean optional false Redshiftクラスターの削除完了をジョブ完了の判定にするフラグ

アクションのタイプがdelete_rds_clusterの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBクラスターを削除するAWSリージョン
specify_rds_cluster string required - 対象のDBクラスターの特定方法
DBクラスターID: identifier
タグ: tag
db_cluster_identifier string optional - DBクラスターの特定に利用するID
specify_rds_clusteridentifierを指定した場合必須
tag_key string optional - DBクラスターの特定に利用するタグのキー
specify_rds_clustertagを指定した場合必須
tag_value string optional - DBクラスターの特定に利用するタグの値
specify_rds_clustertagを指定した場合必須
final_db_snapshot_identifier string required - DBクラスター削除時に取得するDBクラスタースナップショット名
skip_final_snapshot boolean required - DBクラスター削除時のDBクラスタースナップショット取得をスキップするか
trace_status boolean optional false DBクラスターの削除完了をジョブ完了の判定にするフラグ

アクションのタイプがdelete_rds_instanceの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBスナップショットを作成するAWSリージョン
specify_rds_instance string required - 対象のRDSインスタンスの特定方法
ボリュームID: identifier
タグ: tag
rds_instance_id string optional - 対象のRDSインスタンスID
specify_rds_instanceidentifierを指定した場合必須
tag_key string optional - RDSインスタンス特定に利用するタグのキー
specify_rds_instancetagを指定した場合必須
tag_value string optional - RDSインスタンス特定に利用するタグの値
specify_rds_instancetagを指定した場合必須
final_rds_snapshot_id string required - RDSインスタンス削除時に取得するDBスナップショット名
skip_final_rds_snapshot boolean required - RDSインスタンス削除時のDBスナップショット取得をスキップするか
trace_status boolean optional false DBスナップショットの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがderegister_instancesの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 対象のELB(CLB)が存在するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
load_balancer_name string required - EC2インスタンスを登録解除するELB(CLB)名
例) my-load-balancer

アクションのタイプがdescribe_metadataの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
dr_configuration_id string required - DRコンフィグファイルのID
describe_metadataアクションは単体では実行できません。詳細はサーバーワークスまでお問い合わせください。

アクションのタイプがdisaster_recoveryの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
describe_metadata_job_id string required - describe_metadataアクションが設定されたジョブID
trace_status boolean optional false EC2インスタンスの作成完了をジョブ完了の判定にするフラグ
disaster_recoveryアクションは単体では実行できません。詳細はサーバーワークスまでお問い合わせください。

アクションのタイプがregister_instancesの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 対象のELB(CLB)が存在するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
load_balancer_name string required - EC2インスタンスを登録するELB(CLB)名
例) my-load-balancer

アクションのタイプがrestore_from_cluster_snapshotの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - RedshiftクラスタースナップショットからRedshiftクラスターをリストアするAWSリージョン
cluster_identifier string required - リストア後のRedshiftクラスターのidentifier
snapshot_identifier string required - リストアに使用するRedshiftスナップショットID
cluster_parameter_group_name string optional - リストア後のRedshiftクラスターに設定するパラメータグループ名
cluster_subnet_group_name string optional - リストア後のRedshiftクラスターを配置するサブネットグループ名
port number optional - リストア後のDBクラスターの接続ポート番号
publicly_accessible boolean optional false リストア後のRedshiftクラスターをパブリックアクセス可能にするか否か
vpc_security_group_ids array[string] optional NULL リストア後のRedshiftクラスターに設定するセキュリティグループIDが含まれる配列
例) [“sg-00000001”, “sg-00000002”]
allow_version_upgrade boolean optional - リストア後のRedshiftクラスターで自動マイナーバージョンアップグレードを有効にするかどうか
delete_cluster_snapshot boolean optional - リストアに利用したRedshiftスナップショットを削除するかどうか

アクションのタイプがrestore_rds_clusterの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBクラスタースナップショットからDBクラスターをリストアするAWSリージョン
db_instance_identifier string required - リストア後のDBインスタンスのidentifier
db_cluster_identifier string required - リストア後のDBクラスターのidentifier
snapshot_identifier string required - リストアに使用するDBスナップショットID
engine string optional - リストア後のDBクラスターのDBエンジン
engine_version string optional - リストア後のDBクラスターのDBエンジンのバージョン
db_instance_class string optional - リストア後のDBクラスターのDBインスタンスクラス
例) “db.t2.micro”
db_subnet_group_name string optional - リストア後のDBクラスターを配置するDBサブネットグループ名
publicly_accessible boolean optional false リストア後のDBクラスターをパブリックアクセス可能にするか否か
availability_zone string optional random リストア後のDBクラスターを配置するAZ
vpc_security_group_ids array[string] optional - リストア後のDBクラスターに設定するセキュリティグループIDが含まれる配列
例) [“sg-00000001”, “sg-00000002”]
database_name string optional - リストア後のDBクラスターのデータベース名
port number optional - リストア後のDBクラスターの接続ポート番号
db_cluster_parameter_group_name string optional - リストア後のDBクラスターに設定するパラメータグループ名
例) “default.mysql5.6”
db_parameter_group_name string optional - リストア後のDBインスタンスに設定するパラメータグループ名
例) “default.mysql5.6”
option_group_name string optional - リストア後のDBクラスターに設定するオプショングループ名
例) “default:mysql-5-6”
auto_minor_version_upgrade boolean optional - リストア後のDBクラスターで自動マイナーバージョンアップグレードを有効にするかどうか
delete_db_cluster_snapshot boolean optional - リストアに利用したDBスナップショットを削除するかどうか

アクションのタイプがrestore_rds_instanceの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - DBスナップショットからRDSインスタンスをリストアするAWSリージョン
rds_instance_id string required - リストア後のRDSインスタンス名
rds_snapshot_id string required - リストアに使用するDBスナップショットID
db_engine string optional - リストア後のRDSインスタンスのDBエンジン
license_model string optional - リストア後のRDSインスタンスのDBエンジン
db_instance_class string optional - リストア後のRDSインスタンスのDBインスタンスクラス
例) “db.t2.micro”
multi_az boolean optional - リストア後のRDSインスタンスをMulti-AZ構成にするか否か
storage_type string optional - リストア後のRDSインスタンスのストレージタイプ
スタンダード: standard
汎用SSD: gp2
プロビジョンドIOPS: io1
iops number optional - リストア後のRDSインスタンスのIOPS値
1000〜30000
storage_typeio1を選んだとき必須
vpc string optional - リストア後のRDSインスタンスを配置するVPCのID
例)“vpc-00000001”
subnet_group string optional - リストア後のRDSインスタンスを配置するDBサブネットグループ名
publicly_accessible boolean optional false リストア後のRDSインスタンスをパブリックアクセス可能にするか否か
availability_zone string optional - リストア後のRDSインスタンスを配置するAZ
multi_aztrueにしている場合は利用されない
vpc_security_group_ids array[string] optional - リストア後のRDSインスタンスに設定するセキュリティグループIDが含まれる配列
例) [“sg-00000001”, “sg-00000002”]
db_name string optional - リストア後のRDSインスタンスのデータベース名
port number optional - リストア後のRDSインスタンスの接続ポート番号
parameter_group string optional - リストア後のRDSインスタンスに設定するパラメータグループ名
例) “default”
option_group string optional - リストア後のRDSインスタンスに設定するオプショングループ名
例) “default”
auto_minor_version_upgrade boolean optional - リストア後のRDSインスタンスで自動マイナーバージョンアップグレードを有効にするかどうか
delete_rds_snapshot boolean optional - リストアに利用したDBスナップショットを削除するかどうか
additional_tag_key string optional - リストア後のRDSインスタンスに割り当てるタグのキー
additional_tag_value string optional - リストア後のRDSインスタンスの割り当てるタグの値
trace_status boolean optional false RDSインスタンスの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがrevoke_security_group_ingressの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 変更対象のセキュリティグループが存在するAWSリージョン
specify_security_group string required - 対象のセキュリティグループの特定方法
セキュリティグループID: identifier
タグ: tag
security_group_id string optional - 対象のセキュリティグループID
specify_security_groupidentifierを指定した場合必須
tag_key string optional - セキュリティグループ特定に利用するタグのキー
specify_security_grouptagを指定した場合必須
tag_value string optional - セキュリティグループ特定に利用するタグの値
specify_security_grouptagを指定した場合必須
ip_protocol string required - 通信プロトコル
例) “tcp”
to_port string required - ポート番号
例) 80
cidr_ip string required - 送信元IPのCIDRアドレス
例) “172.31.0.0/16”

アクションのタイプがsend_commandの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - コマンドを実行するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
command string required - 実行するコマンド
例) whoami
comment string optional - コマンドに設定するコメント
document_name string required - コマンドの種類
Linux: AWS-RunShellScript
Windows: AWS-RunPowerShellScript
output_s3_bucket_name string optional - 実行結果を保存するS3のバケット名
output_s3_key_prefix string optional - 実行結果を保存するS3のプレフィックス
timeout_seconds number optional - タイムアウト時間(秒)
(30-2592000)

アクションのタイプがstart_instancesの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - 対象のEC2インスタンスが存在するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
trace_status boolean optional false インスタンスの起動完了をジョブ完了の判定にするフラグ

アクションのタイプがstop_instancesの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - AMIを作成するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
trace_status boolean optional false インスタンスの起動完了をジョブ完了の判定にするフラグ

アクションのタイプがterminate_workspacesの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - WorkSpaceを削除するAWSリージョン
specify_workspace string required - 対象のWorkSpaceの特定方法
ボリュームID: identifier
タグ: tag
workspace_id string optional - 対象のWorkSpace
specify_workspaceidentifierを指定した場合必須
tag_key string optional - WorkSpace特定に利用するタグのキー
specify_workspacetagを指定した場合必須
tag_value string optional - WorkSpace特定に利用するタグの値
specify_workspacetagを指定した場合必須
trace_status boolean optional false WorkSpaceの作成完了をジョブ完了の判定にするフラグ

アクションのタイプがupdate_record_setの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
zone_name string required - リソースレコードセットを更新するホストゾーン
例) “test.local.”
record_set_name string required - 更新対象のリソースレコードセット
例) “aaa.test.local.”
record_set_type string required - リソースレコードタイプ
以下が指定可能
A
CNAME
record_set_value string required - リソースレコードセットの値

アクションのタイプがwindows_updateの場合のaction_valueの設定値

名前 必須かどうか デフォルト値 説明
region string required - コマンドを実行するAWSリージョン
specify_instance string required - 対象のEC2インスタンスの特定方法
インスタンスID: identifier
タグ: tag
instance_id string optional - 対象のEC2インスタンスID
specify_instanceidentifierを指定した場合必須
tag_key string optional - インスタンス特定に利用するタグのキー
specify_instancetagを指定した場合必須
tag_value string optional - インスタンス特定に利用するタグの値
specify_instancetagを指定した場合必須
comment string optional - コマンドに設定するコメント
document_name string required - AWS-InstallMissingWindowsUpdates固定
kb_article_ids array[string] optional - 除外するKBが含まれた配列
例) [“KB1111111”, “KB2222222”]
output_s3_bucket_name string optional - 実行結果を保存するS3のバケット名
output_s3_key_prefix string optional - 実行結果を保存するS3のプレフィックス
timeout_seconds number optional - タイムアウト時間(秒)
(30-2592000)

Example URI

POST https://manager.cloudautomator.com/api/v1/jobs
Request  週次でAMIを作成するジョブの例
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "毎週月曜の9時にAMIを作成",
  "aws_account_id": 1,
  "rule_type": "cron",
  "rule_value": {
    "hour": 9,
    "minutes": 0,
    "schedule_type": "one_time",
    "weekly_schedule": [
      "monday"
    ]
  },
  "action_type": "create_image",
  "action_value": {
    "region": "ap-northeast-1",
    "instance_id": "i-00000001",
    "generation": "1",
    "image_name": "TestAMI",
    "trace_status": true,
    "reboot_instance": "true",
    "specify_image_instance": "identifier",
    "add_same_tag_to_snapshot": "false",
    "recreate_image_if_ami_status_failed": "false"
  },
  "completed_post_process_id": [
    1
  ],
  "failed_post_process_id": [
    2
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "ジョブの名前"
    },
    "aws_account_id": {
      "type": "number",
      "description": "ジョブの実行時に使うAWSアカウントのID"
    },
    "rule_type": {
      "type": "string",
      "description": "トリガーのタイプ"
    },
    "rule_value": {
      "type": "object",
      "properties": {
        "hour": {
          "type": "number",
          "description": "時"
        },
        "minutes": {
          "type": "number",
          "description": "分"
        },
        "schedule_type": {
          "type": "string",
          "description": "one_time, weekly, monthly のいずれか"
        },
        "weekly_schedule": {
          "type": "array",
          "description": "曜日(sunday, monday, ...)の配列"
        }
      },
      "required": [
        "hour",
        "minutes",
        "schedule_type",
        "weekly_schedule"
      ],
      "description": "トリガーの設定値"
    },
    "action_type": {
      "type": "string",
      "description": "アクションのタイプ"
    },
    "action_value": {
      "type": "object",
      "properties": {
        "region": {
          "type": "string"
        },
        "instance_id": {
          "type": "string"
        },
        "generation": {
          "type": "string"
        },
        "image_name": {
          "type": "string"
        },
        "trace_status": {
          "type": "boolean"
        },
        "reboot_instance": {
          "type": "string"
        },
        "specify_image_instance": {
          "type": "string"
        },
        "add_same_tag_to_snapshot": {
          "type": "string"
        },
        "recreate_image_if_ami_status_failed": {
          "type": "string"
        }
      },
      "required": [
        "trace_status"
      ],
      "description": "アクションの設定値"
    },
    "completed_post_process_id": {
      "type": "array",
      "description": "アクションの設定値"
    },
    "failed_post_process_id": {
      "type": "array",
      "description": "アクションの設定値"
    }
  },
  "required": [
    "name",
    "aws_account_id",
    "rule_type",
    "rule_value",
    "action_type",
    "action_value"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "TriggerJobs",
    "attributes": {
      "name": "毎週月曜の9時にAMIを作成",
      "aws_account_id": 1,
      "rule_type": "cron",
      "rule_value": {
        "hour": 9,
        "minutes": 0,
        "schedule_type": "weekly",
        "weekly_schedule": [
          "monday"
        ]
      },
      "action_type": "create_image",
      "action_value": {
        "region": "ap-northeast-1",
        "instance_id": "i-00000001",
        "generation": 1,
        "image_name": "TestAMI",
        "trace_status": true,
        "reboot_instance": true,
        "specify_image_instance": "identifier",
        "add_same_tag_to_snapshot": false,
        "recreate_image_if_ami_status_failed": false
      },
      "active": true,
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "ジョブ名"
            },
            "aws_account_id": {
              "type": "number",
              "description": "AWSアカウントID"
            },
            "rule_type": {
              "type": "string",
              "description": "トリガータイプ"
            },
            "rule_value": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "number",
                  "description": "時"
                },
                "minutes": {
                  "type": "number",
                  "description": "分"
                },
                "schedule_type": {
                  "type": "string",
                  "description": "スケジュールタイプ"
                },
                "weekly_schedule": {
                  "type": "array"
                }
              }
            },
            "action_type": {
              "type": "string",
              "description": "アクションタイプ"
            },
            "action_value": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "instance_id": {
                  "type": "string"
                },
                "generation": {
                  "type": "number"
                },
                "image_name": {
                  "type": "string"
                },
                "trace_status": {
                  "type": "boolean"
                },
                "reboot_instance": {
                  "type": "boolean"
                },
                "specify_image_instance": {
                  "type": "string"
                },
                "add_same_tag_to_snapshot": {
                  "type": "boolean"
                },
                "recreate_image_if_ami_status_failed": {
                  "type": "boolean"
                }
              }
            },
            "active": {
              "type": "boolean",
              "description": "ジョブがアクティブかどうか"
            },
            "created_at": {
              "type": "string",
              "description": "ジョブの作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "ジョブの更新日時"
            }
          }
        }
      },
      "description": "作成されたジョブ"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Get Jobs
GET/jobs

複数のジョブを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/jobs
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": "1",
      "type": "TriggerJobs",
      "attributes": {
        "name": "毎週月曜の9時にAMIを作成",
        "aws_account_id": 1,
        "rule_type": "cron",
        "rule_value": {
          "hour": 9,
          "minutes": 0,
          "schedule_type": "weekly",
          "weekly_schedule": [
            "monday"
          ]
        },
        "action_type": "create_image",
        "action_value": {
          "region": "ap-northeast-1",
          "instance_id": "i-00000001",
          "generation": 1,
          "image_name": "TestAMI",
          "trace_status": true,
          "reboot_instance": true,
          "specify_image_instance": "identifier",
          "add_same_tag_to_snapshot": false,
          "recreate_image_if_ami_status_failed": false
        },
        "active": true,
        "created_at": "2016-10-13 22:45:45 +0900",
        "updated_at": "2016-10-13 22:45:45 +0900"
      }
    }
  ],
  "links": {
    "self": "https://manager.cloudautomator.com/api/v1/jobs?page%5Bnumber%5D=1&page%5Bsize%5D=5",
    "next": "https://manager.cloudautomator.com/api/v1/jobs?page%5Bnumber%5D=2&page%5Bsize%5D=5",
    "last": "https://manager.cloudautomator.com/api/v1/jobs?page%5Bnumber%5D=3&page%5Bsize%5D=5"
  },
  "meta": {
    "total": 12
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "ジョブの配列"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "string",
          "description": "現在の結果を指すURL"
        },
        "next": {
          "type": "string",
          "description": "次の結果を指すURL"
        },
        "last": {
          "type": "string",
          "description": "最後の結果を指すURL"
        }
      },
      "description": "ページネーションリンク"
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number",
          "description": "ジョブの総数"
        }
      }
    }
  }
}

Get Job
GET/jobs/{id}

1件のジョブを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/jobs/1
URI Parameters
HideShow
id
number (required) Example: 1

ジョブID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "TriggerJobs",
    "attributes": {
      "name": "毎週月曜の9時にAMIを作成",
      "aws_account_id": 1,
      "rule_type": "cron",
      "rule_value": {
        "hour": 9,
        "minutes": 0,
        "schedule_type": "weekly",
        "weekly_schedule": [
          "monday"
        ]
      },
      "action_type": "create_image",
      "action_value": {
        "region": "ap-northeast-1",
        "instance_id": "i-00000001",
        "generation": 1,
        "image_name": "TestAMI",
        "trace_status": true,
        "reboot_instance": true,
        "specify_image_instance": "identifier",
        "add_same_tag_to_snapshot": false,
        "recreate_image_if_ami_status_failed": false
      },
      "active": true,
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "ジョブ名"
            },
            "aws_account_id": {
              "type": "number",
              "description": "AWSアカウントID"
            },
            "rule_type": {
              "type": "string",
              "description": "トリガータイプ"
            },
            "rule_value": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "number",
                  "description": "時"
                },
                "minutes": {
                  "type": "number",
                  "description": "分"
                },
                "schedule_type": {
                  "type": "string",
                  "description": "スケジュールタイプ"
                },
                "weekly_schedule": {
                  "type": "array"
                }
              }
            },
            "action_type": {
              "type": "string",
              "description": "アクションタイプ"
            },
            "action_value": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "instance_id": {
                  "type": "string"
                },
                "generation": {
                  "type": "number"
                },
                "image_name": {
                  "type": "string"
                },
                "trace_status": {
                  "type": "boolean"
                },
                "reboot_instance": {
                  "type": "boolean"
                },
                "specify_image_instance": {
                  "type": "string"
                },
                "add_same_tag_to_snapshot": {
                  "type": "boolean"
                },
                "recreate_image_if_ami_status_failed": {
                  "type": "boolean"
                }
              }
            },
            "active": {
              "type": "boolean",
              "description": "ジョブがアクティブかどうか"
            },
            "created_at": {
              "type": "string",
              "description": "ジョブの作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "ジョブの更新日時"
            }
          }
        }
      },
      "description": "ジョブ"
    }
  }
}

Edit Job
PATCH/jobs/{id}

ジョブの情報を更新します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string optional ジョブの名前
aws_account_id number optional ジョブの実行時に使うAWSアカウントのID
rule_value object optional トリガーの設定値
action_value object optional アクションの設定値
completed_post_process_id array[number] optional ジョブが成功した場合に実行する後処理IDが含まれる配列
例) [1, 2, 3, 4]
failed_post_process_id array[number] optional ジョブが失敗した場合に実行する後処理IDが含まれる配列
例) [1, 2, 3, 4]

トリガーのタイプとアクションのタイプを変更することはできません。

Example URI

PATCH https://manager.cloudautomator.com/api/v1/jobs/1
URI Parameters
HideShow
id
number (required) Example: 1

ジョブID

Request  サンプルリクエスト
HideShow
Headers
Content-Type: application/json
Body
{
  "rule_value": {
    "weekly_schedule": [
      "sunday"
    ]
  },
  "completed_post_process_id": [
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rule_value": {
      "type": "object",
      "properties": {
        "weekly_schedule": {
          "type": "array",
          "description": "ジョブの実行曜日"
        }
      }
    },
    "completed_post_process_id": {
      "type": "array",
      "description": "ジョブ成功時に実行する後処理ID"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "TriggerJobs",
    "attributes": {
      "name": "毎週月曜の9時にAMIを作成",
      "aws_account_id": 1,
      "rule_type": "cron",
      "rule_value": {
        "hour": 9,
        "minutes": 0,
        "schedule_type": "weekly",
        "weekly_schedule": [
          "monday"
        ]
      },
      "action_type": "create_image",
      "action_value": {
        "region": "ap-northeast-1",
        "instance_id": "i-00000001",
        "generation": 1,
        "image_name": "TestAMI",
        "trace_status": true,
        "reboot_instance": true,
        "specify_image_instance": "identifier",
        "add_same_tag_to_snapshot": false,
        "recreate_image_if_ami_status_failed": false
      },
      "active": true,
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "ジョブ名"
            },
            "aws_account_id": {
              "type": "number",
              "description": "AWSアカウントID"
            },
            "rule_type": {
              "type": "string",
              "description": "トリガータイプ"
            },
            "rule_value": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "number",
                  "description": "時"
                },
                "minutes": {
                  "type": "number",
                  "description": "分"
                },
                "schedule_type": {
                  "type": "string",
                  "description": "スケジュールタイプ"
                },
                "weekly_schedule": {
                  "type": "array"
                }
              }
            },
            "action_type": {
              "type": "string",
              "description": "アクションタイプ"
            },
            "action_value": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "instance_id": {
                  "type": "string"
                },
                "generation": {
                  "type": "number"
                },
                "image_name": {
                  "type": "string"
                },
                "trace_status": {
                  "type": "boolean"
                },
                "reboot_instance": {
                  "type": "boolean"
                },
                "specify_image_instance": {
                  "type": "string"
                },
                "add_same_tag_to_snapshot": {
                  "type": "boolean"
                },
                "recreate_image_if_ami_status_failed": {
                  "type": "boolean"
                }
              }
            },
            "active": {
              "type": "boolean",
              "description": "ジョブがアクティブかどうか"
            },
            "created_at": {
              "type": "string",
              "description": "ジョブの作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "ジョブの更新日時"
            }
          }
        }
      },
      "description": "更新後のジョブ"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Delete Job
DELETE/jobs/{id}

ジョブを削除します。

削除に成功した場合はステータスコード204 No Contentを返し、レスポンスボディは返しません。

Example URI

DELETE https://manager.cloudautomator.com/api/v1/jobs/1
URI Parameters
HideShow
id
number (required) Example: 1

ジョブID

Response  204
HideShow
Headers
Content-Type: application/json

ジョブログ

Get Logs
GET/logs

複数のジョブログを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/logs
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": "1",
      "type": "TriggerJobLogs",
      "attributes": {
        "name": "毎週月曜の9時にAMIを作成",
        "result": {
          "error_code": "ResourceNotFound",
          "error_message": "Instances not found"
        },
        "status": "failed",
        "aws_account_id": 1,
        "job_id": 1,
        "rule_type": "cron",
        "rule_value": {
          "hour": 9,
          "minutes": 0,
          "schedule_type": "weekly",
          "weekly_schedule": [
            "monday"
          ]
        },
        "action_type": "create_image",
        "action_value": {
          "region": "ap-northeast-1",
          "instance_id": "i-00000001",
          "generation": 1,
          "image_name": "TestAMI",
          "trace_status": true,
          "reboot_instance": true,
          "specify_image_instance": "identifier",
          "add_same_tag_to_snapshot": false,
          "recreate_image_if_ami_status_failed": false
        },
        "started_at": "2016-10-13 22:45:45 +0900",
        "finished_at": "2016-10-13 22:45:45 +0900",
        "created_at": "2016-10-13 22:45:45 +0900",
        "updated_at": "2016-10-13 22:45:45 +0900"
      }
    }
  ],
  "links": {
    "self": "https://manager.cloudautomator.com/api/v1/logs?page%5Bnumber%5D=1&page%5Bsize%5D=5",
    "next": "https://manager.cloudautomator.com/api/v1/logs?page%5Bnumber%5D=2&page%5Bsize%5D=5",
    "last": "https://manager.cloudautomator.com/api/v1/logs?page%5Bnumber%5D=3&page%5Bsize%5D=5"
  },
  "meta": {
    "total": 12
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "ジョブログの配列"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "string",
          "description": "現在の結果を指すURL"
        },
        "next": {
          "type": "string",
          "description": "次の結果を指すURL"
        },
        "last": {
          "type": "string",
          "description": "最後の結果を指すURL"
        }
      },
      "description": "ページネーションリンク"
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number",
          "description": "ジョブログの総数"
        }
      }
    }
  }
}

Get Log
GET/logs/{id}

1件のジョブログを取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/logs/1
URI Parameters
HideShow
id
number (required) Example: 1

ジョブログ

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "TriggerJobLogs",
    "attributes": {
      "name": "毎週月曜の9時にAMIを作成",
      "result": {
        "error_code": "ResourceNotFound",
        "error_message": "Instances not found"
      },
      "status": "failed",
      "aws_account_id": 1,
      "job_id": 1,
      "rule_type": "cron",
      "rule_value": {
        "hour": 9,
        "minutes": 0,
        "schedule_type": "weekly",
        "weekly_schedule": [
          "monday"
        ]
      },
      "action_type": "create_image",
      "action_value": {
        "region": "ap-northeast-1",
        "instance_id": "i-00000001",
        "generation": 1,
        "image_name": "TestAMI",
        "trace_status": true,
        "reboot_instance": true,
        "specify_image_instance": "identifier",
        "add_same_tag_to_snapshot": false,
        "recreate_image_if_ami_status_failed": false
      },
      "started_at": "2016-10-13 22:45:45 +0900",
      "finished_at": "2016-10-13 22:45:45 +0900",
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブログID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "ジョブ名"
            },
            "result": {
              "type": "object",
              "properties": {
                "error_code": {
                  "type": "string",
                  "description": "エラーコード"
                },
                "error_message": {
                  "type": "string",
                  "description": "エラーメッセージ"
                }
              }
            },
            "status": {
              "type": "string",
              "description": "ジョブステータス"
            },
            "aws_account_id": {
              "type": "number",
              "description": "AWSアカウントID"
            },
            "job_id": {
              "type": "number",
              "description": "ジョブID"
            },
            "rule_type": {
              "type": "string",
              "description": "トリガータイプ"
            },
            "rule_value": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "number",
                  "description": "時"
                },
                "minutes": {
                  "type": "number",
                  "description": "分"
                },
                "schedule_type": {
                  "type": "string",
                  "description": "スケジュールタイプ"
                },
                "weekly_schedule": {
                  "type": "array"
                }
              }
            },
            "action_type": {
              "type": "string",
              "description": "アクションタイプ"
            },
            "action_value": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "instance_id": {
                  "type": "string"
                },
                "generation": {
                  "type": "number"
                },
                "image_name": {
                  "type": "string"
                },
                "trace_status": {
                  "type": "boolean"
                },
                "reboot_instance": {
                  "type": "boolean"
                },
                "specify_image_instance": {
                  "type": "string"
                },
                "add_same_tag_to_snapshot": {
                  "type": "boolean"
                },
                "recreate_image_if_ami_status_failed": {
                  "type": "boolean"
                }
              }
            },
            "started_at": {
              "type": "string",
              "description": "ジョブの実行開始日時"
            },
            "finished_at": {
              "type": "string",
              "description": "ジョブの終了日時"
            },
            "created_at": {
              "type": "string",
              "description": "ジョブログの作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "ジョブログの更新日時"
            }
          }
        }
      },
      "description": "ジョブログ"
    }
  }
}

Get ResourceOperationResults
GET/logs/{id}/resource_operation_results

ログに紐づくリソース操作結果を返します。

Example URI

GET https://manager.cloudautomator.com/api/v1/logs/1/resource_operation_results
URI Parameters
HideShow
id
number (required) Example: 1

ジョブログID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "ResourceOperationResults",
    "attributes": {
      "message": "The command is pending",
      "result": "completed",
      "affected_resource_id": "ami-00000001",
      "target_resource_id": "i-00000001",
      "job_id": 1,
      "log_id": 1,
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブログID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "message": {
              "type": "string",
              "description": "リソースに対しての実行時の特記事項"
            },
            "result": {
              "type": "string",
              "description": "ジョブ実行結果(ResourceOperationResult::AVAILABLESTATUSES)"
            },
            "affected_resource_id": {
              "type": "string",
              "description": "ジョブを実行して影響をうけたリソースID(作成したイメージID等)"
            },
            "target_resource_id": {
              "type": "string",
              "description": "ジョブの実行対象のリソースID"
            },
            "job_id": {
              "type": "number",
              "description": "ジョブID"
            },
            "log_id": {
              "type": "number",
              "description": "ログID"
            },
            "created_at": {
              "type": "string",
              "description": "リソース操作結果の作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "リソース操作結果の更新日時"
            }
          }
        }
      },
      "description": "リソース操作結果"
    }
  }
}

後処理

Create PostProcess
POST/post_processes

新しい後処理を作成します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string required 後処理の名前
service string required 後処理で利用するサービスタイプ
parameters object required 後処理の設定値

サービスタイプとしてserviceに指定できるのは以下のいずれかです。

後処理で利用するサービスタイプ 説明 serviceの要否
email メール 必要
sqs SQS 必要

サービスタイプがemailの場合のparametersの設定値

名前 必須かどうか 説明
email_recipient string required メールアドレス
例)hoge@example.com

サービスタイプがsqsの場合のparametersの設定値

名前 必須かどうか 説明
sqs_aws_account_id number required SQSのキューを検索する際に利用するAWSアカウントのID
※AWSのアカウントIDではなくCloud Automator上のID
sqs_queue string required SQSのキュー名
sqs_region string required SQSのキューが存在するリージョン名

Example URI

POST https://manager.cloudautomator.com/api/v1/post_processes
Request  サンプルリクエスト
HideShow
Headers
Content-Type: application/json
Body
{
  "name": "成功時の通知",
  "service": "sqs",
  "parameters": {
    "sqs_aws_account_id": 1,
    "sqs_queue": "example-queue",
    "sqs_region": "ap-northeast-1"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "任意の後処理名"
    },
    "service": {
      "type": "string",
      "description": "後処理で利用するサービスタイプ"
    },
    "parameters": {
      "type": "object",
      "properties": {
        "sqs_aws_account_id": {
          "type": "number",
          "description": "SQSのキューを検索する際に利用するAWSアカウントのID"
        },
        "sqs_queue": {
          "type": "string",
          "description": "SQSのキュー名"
        },
        "sqs_region": {
          "type": "string",
          "description": "SQSのキューが存在するリージョン名"
        }
      },
      "required": [
        "sqs_aws_account_id",
        "sqs_queue",
        "sqs_region"
      ],
      "description": "サービスの設定値"
    }
  },
  "required": [
    "name",
    "service",
    "parameters"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "'1'",
    "type": "PostProcesses",
    "attributes": {
      "name": "後処理",
      "service": "sqs",
      "parameters": {
        "sqs_aws_account_id": 1,
        "sqs_region": "ap-northeast-1",
        "sqs_queue": "sample"
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "後処理ID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "後処理名"
            },
            "service": {
              "type": "string",
              "description": "サービスタイプ"
            },
            "parameters": {
              "type": "object",
              "properties": {
                "sqs_aws_account_id": {
                  "type": "number"
                },
                "sqs_region": {
                  "type": "string"
                },
                "sqs_queue": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "description": "作成された後処理"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Get PostProcesses
GET/post_processes

複数の後処理を取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/post_processes
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "id": "'1'",
      "type": "PostProcesses",
      "attributes": {
        "name": "後処理",
        "service": "sqs",
        "parameters": {
          "sqs_aws_account_id": 1,
          "sqs_region": "ap-northeast-1",
          "sqs_queue": "sample"
        }
      }
    }
  ],
  "links": {
    "self": "https://manager.cloudautomator.com/api/v1/post_processes?page%5Bnumber%5D=1&page%5Bsize%5D=5",
    "next": "https://manager.cloudautomator.com/api/v1/post_processes?page%5Bnumber%5D=2&page%5Bsize%5D=5",
    "last": "https://manager.cloudautomator.com/api/v1/post_processes?page%5Bnumber%5D=3&page%5Bsize%5D=5"
  },
  "meta": {
    "total": 12
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "後処理の配列"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "string",
          "description": "現在の結果を指すURL"
        },
        "next": {
          "type": "string",
          "description": "次の結果を指すURL"
        },
        "last": {
          "type": "string",
          "description": "最後の結果を指すURL"
        }
      },
      "description": "ページネーションリンク"
    },
    "meta": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number",
          "description": "後処理の総数"
        }
      }
    }
  }
}

Get PostProcess
GET/post_processes/{id}

1件の後処理を取得します。

Example URI

GET https://manager.cloudautomator.com/api/v1/post_processes/1
URI Parameters
HideShow
id
number (required) Example: 1

後処理

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "'1'",
    "type": "PostProcesses",
    "attributes": {
      "name": "後処理",
      "service": "sqs",
      "parameters": {
        "sqs_aws_account_id": 1,
        "sqs_region": "ap-northeast-1",
        "sqs_queue": "sample"
      }
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "後処理ID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "後処理名"
            },
            "service": {
              "type": "string",
              "description": "サービスタイプ"
            },
            "parameters": {
              "type": "object",
              "properties": {
                "sqs_aws_account_id": {
                  "type": "number"
                },
                "sqs_region": {
                  "type": "string"
                },
                "sqs_queue": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "description": "後処理"
    }
  }
}

Edit PostProcess
PATCH/post_processes/{id}

後処理の情報を更新します。

リクエストボディに含めるパラメーター

名前 必須かどうか 説明
name string optional 後処理の名前
service string optional 後処理で利用するサービスタイプ
parameters object optional 後処理の設定値

Example URI

PATCH https://manager.cloudautomator.com/api/v1/post_processes/1
URI Parameters
HideShow
id
number (required) Example: 1

後処理ID

Request  サンプルリクエスト
HideShow
Headers
Content-Type: application/json
Body
{
  "parameters": {
    "email_recipient": "fuga@example.com"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "parameters": {
      "type": "object",
      "properties": {
        "email_recipient": {
          "type": "string"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "1",
    "type": "TriggerJobs",
    "attributes": {
      "name": "毎週月曜の9時にAMIを作成",
      "aws_account_id": 1,
      "rule_type": "cron",
      "rule_value": {
        "hour": 9,
        "minutes": 0,
        "schedule_type": "weekly",
        "weekly_schedule": [
          "monday"
        ]
      },
      "action_type": "create_image",
      "action_value": {
        "region": "ap-northeast-1",
        "instance_id": "i-00000001",
        "generation": 1,
        "image_name": "TestAMI",
        "trace_status": true,
        "reboot_instance": true,
        "specify_image_instance": "identifier",
        "add_same_tag_to_snapshot": false,
        "recreate_image_if_ami_status_failed": false
      },
      "active": true,
      "created_at": "2016-10-13 22:45:45 +0900",
      "updated_at": "2016-10-13 22:45:45 +0900"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "ジョブID"
        },
        "type": {
          "type": "string",
          "description": "データ型"
        },
        "attributes": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "ジョブ名"
            },
            "aws_account_id": {
              "type": "number",
              "description": "AWSアカウントID"
            },
            "rule_type": {
              "type": "string",
              "description": "トリガータイプ"
            },
            "rule_value": {
              "type": "object",
              "properties": {
                "hour": {
                  "type": "number",
                  "description": "時"
                },
                "minutes": {
                  "type": "number",
                  "description": "分"
                },
                "schedule_type": {
                  "type": "string",
                  "description": "スケジュールタイプ"
                },
                "weekly_schedule": {
                  "type": "array"
                }
              }
            },
            "action_type": {
              "type": "string",
              "description": "アクションタイプ"
            },
            "action_value": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "instance_id": {
                  "type": "string"
                },
                "generation": {
                  "type": "number"
                },
                "image_name": {
                  "type": "string"
                },
                "trace_status": {
                  "type": "boolean"
                },
                "reboot_instance": {
                  "type": "boolean"
                },
                "specify_image_instance": {
                  "type": "string"
                },
                "add_same_tag_to_snapshot": {
                  "type": "boolean"
                },
                "recreate_image_if_ami_status_failed": {
                  "type": "boolean"
                }
              }
            },
            "active": {
              "type": "boolean",
              "description": "ジョブがアクティブかどうか"
            },
            "created_at": {
              "type": "string",
              "description": "ジョブの作成日時"
            },
            "updated_at": {
              "type": "string",
              "description": "ジョブの更新日時"
            }
          }
        }
      },
      "description": "更新後の後処理"
    }
  }
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "errors": [
    {
      "source": {
        "pointer": "/data/attributes/name"
      },
      "detail": "を入力してください"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "errors": {
      "type": "array"
    }
  }
}

Delete PostProcess
DELETE/post_processes/{id}

後処理を削除します。

削除に成功した場合はステータスコード204 No Contentを返し、レスポンスボディは返しません。

Example URI

DELETE https://manager.cloudautomator.com/api/v1/post_processes/1
URI Parameters
HideShow
id
number (required) Example: 1

後処理ID

Response  204
HideShow
Headers
Content-Type: application/json

Generated by aglio on 16 Aug 2017