GS2-Schedule GS2-Deploy/CDK リファレンス
エンティティ
Namespace
ネームスペース
ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。
GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。
そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 128文字 | ネームスペース名 | ||
| description | string | ~ 1024文字 | 説明文 | |||
| transactionSetting | TransactionSetting | トランザクション設定 | ||||
| logSetting | LogSetting | ログの出力設定 | 
GetAttr
!GetAttrタグで取得可能なリソースの生成結果
| 型 | 説明 | |
|---|---|---|
| Item | Namespace | 作成したネームスペース | 
実装例
Type: GS2::Schedule::Namespace
Properties:
  Name: namespace-0001
  Description: null
  TransactionSetting: null
  LogSetting: 
    LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001import (
    "github.com/gs2io/gs2-golang-cdk/core"
    "github.com/gs2io/gs2-golang-cdk/schedule"
    "github.com/openlyinc/pointy"
)
SampleStack := core.NewStack()
schedule.NewNamespace(
    &SampleStack,
    "namespace-0001",
    schedule.NamespaceOptions{
        LogSetting: &core.LogSetting{
            LoggingNamespaceId: "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
        },
    },
)
println(SampleStack.Yaml())  // Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Schedule\Model\Namespace_(
            stack: $this,
            name: "namespace-0001",
            options: new \Gs2Cdk\Schedule\Model\Options\NamespaceOptions(
                logSetting: new \Gs2Cdk\Core\Model\LogSetting(
                    loggingNamespaceId: "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                )
            )
        );
    }
}
print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.schedule.model.Namespace(
                this,
                "namespace-0001",
                new io.gs2.cdk.schedule.model.options.NamespaceOptions()
                        .withLogSetting(new io.gs2.cdk.core.model.LogSetting(
                            "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                        ))
        );
    }
}
System.out.println(new SampleStack().yaml());  // Generate Templatepublic class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Schedule.Model.Namespace(
            stack: this,
            name: "namespace-0001",
            options: new Gs2Cdk.Gs2Schedule.Model.Options.NamespaceOptions
            {
                logSetting = new Gs2Cdk.Core.Model.LogSetting(
                    loggingNamespaceId: "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                )
            }
        );
    }
}
Debug.Log(new SampleStack().Yaml());  // Generate Templateimport core from "@/gs2cdk/core";
import schedule from "@/gs2cdk/schedule";
class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new schedule.model.Namespace(
            this,
            "namespace-0001",
            {
                logSetting: new core.LogSetting(
                    "grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"
                )
            }
        );
    }
}
console.log(new SampleStack().yaml());  // Generate Template
from gs2_cdk import Stack, core, schedule
class SampleStack(Stack):
    def __init__(self):
        super().__init__()
        schedule.Namespace(
            stack=self,
            name='namespace-0001',
            options=schedule.NamespaceOptions(
                log_setting=core.LogSetting(
                    logging_namespace_id='grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001',
                ),
            ),
        )
print(SampleStack().yaml())  # Generate TemplateCurrentEventMaster
現在有効なマスターデータ
GS2ではマスターデータの管理にJSON形式のファイルを使用します。
ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。
JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが
よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。
Note
JSONファイルの形式については GS2-Schedule マスターデータリファレンス をご参照ください。| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128文字 | ネームスペース名 | ||||||||
| mode | 文字列列挙型 enum { “direct”, “preUpload” } | ✓ | “direct” | ~ 128文字 | 更新モード 
 | |||||||
| settings | string | {mode} == “direct” | ✓ | ~ 5242880文字 | マスターデータ mode が “direct” であれば 必須 | |||||||
| uploadToken | string | {mode} == “preUpload” | ✓ | ~ 1024文字 | プレアップロードで取得したトークン mode が “preUpload” であれば 必須 | 
GetAttr
!GetAttrタグで取得可能なリソースの生成結果
| 型 | 説明 | |
|---|---|---|
| Item | CurrentEventMaster | 更新した現在有効なイベントスケジュールマスター | 
実装例
Type: GS2::Schedule::CurrentEventMaster
Properties:
  NamespaceName: namespace-0001
  Mode: null
  Settings: {
    "version": "2019-03-31",
    "events": [
      {
        "name": "event-0001",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0001",
        "absoluteBegin": 10000,
        "absoluteEnd": 20000
      },
      {
        "name": "event-0002",
        "scheduleType": "relative",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0002",
        "relativeTriggerName": "trigger-0001"
      },
      {
        "name": "daily-0001",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0003",
        "absoluteBegin": 1569369600000,
        "absoluteEnd": 1569456000000
      },
      {
        "name": "daily-0002",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0004",
        "absoluteBegin": 1569369600000,
        "absoluteEnd": 1569456000000
      },
      {
        "name": "weekly-0001",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0005",
        "absoluteBegin": 1569888000000,
        "absoluteEnd": 1570406400000
      },
      {
        "name": "weekly-0002",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0006",
        "absoluteBegin": 1569888000000,
        "absoluteEnd": 1570406400000
      },
      {
        "name": "monthly-0001",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0007",
        "absoluteBegin": 1570406400000,
        "absoluteEnd": 1575158400000
      },
      {
        "name": "monthly-0002",
        "scheduleType": "absolute",
        "repeatSetting":
          {
            "repeatType": "always",
            "beginDayOfMonth": 1,
            "endDayOfMonth": 1,
            "beginHour": 0,
            "endHour": 0,
            "activeDays": 1,
            "inactiveDays": 0
          },
        "metadata": "EVENT_0008",
        "absoluteBegin": 1570406400000,
        "absoluteEnd": 1575158400000
      }
    ]
  }
  UploadToken: nullimport (
    "github.com/gs2io/gs2-golang-cdk/core"
    "github.com/gs2io/gs2-golang-cdk/schedule"
    "github.com/openlyinc/pointy"
)
SampleStack := core.NewStack()
schedule.NewNamespace(
    &SampleStack,
    "namespace-0001",
    schedule.NamespaceOptions{},
).MasterData(
    []schedule.Event{
        schedule.NewEvent(
            "event-0001",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0001"),
                AbsoluteBegin: pointy.Int64(10000),
                AbsoluteEnd: pointy.Int64(20000),
            },
        ),
        schedule.NewEvent(
            "event-0002",
            schedule.EventScheduleTypeRelative,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0002"),
                RelativeTriggerName: pointy.String("trigger-0001"),
            },
        ),
        schedule.NewEvent(
            "daily-0001",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0003"),
                AbsoluteBegin: pointy.Int64(1569369600000),
                AbsoluteEnd: pointy.Int64(1569456000000),
            },
        ),
        schedule.NewEvent(
            "daily-0002",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0004"),
                AbsoluteBegin: pointy.Int64(1569369600000),
                AbsoluteEnd: pointy.Int64(1569456000000),
            },
        ),
        schedule.NewEvent(
            "weekly-0001",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0005"),
                AbsoluteBegin: pointy.Int64(1569888000000),
                AbsoluteEnd: pointy.Int64(1570406400000),
            },
        ),
        schedule.NewEvent(
            "weekly-0002",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0006"),
                AbsoluteBegin: pointy.Int64(1569888000000),
                AbsoluteEnd: pointy.Int64(1570406400000),
            },
        ),
        schedule.NewEvent(
            "monthly-0001",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0007"),
                AbsoluteBegin: pointy.Int64(1570406400000),
                AbsoluteEnd: pointy.Int64(1575158400000),
            },
        ),
        schedule.NewEvent(
            "monthly-0002",
            schedule.EventScheduleTypeAbsolute,
            schedule.NewRepeatSetting(
                schedule.RepeatSettingRepeatTypeAlways,
                schedule.RepeatSettingOptions{
                    BeginDayOfMonth: pointy.Int32(1),
                    EndDayOfMonth: pointy.Int32(1),
                    BeginHour: pointy.Int32(0),
                    EndHour: pointy.Int32(0),
                    ActiveDays: pointy.Int32(1),
                    InactiveDays: pointy.Int32(0),
                },
            ),
            schedule.EventOptions{
                Metadata: pointy.String("EVENT_0008"),
                AbsoluteBegin: pointy.Int64(1570406400000),
                AbsoluteEnd: pointy.Int64(1575158400000),
            },
        ),
    },
)
println(SampleStack.Yaml())  // Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        (new \Gs2Cdk\Schedule\Model\Namespace_(
            stack: $this,
            name: "namespace-0001"
        ))->masterData(
            [
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"event-0001",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0001",
                        absoluteBegin:10000,
                        absoluteEnd:20000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"event-0002",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::RELATIVE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0002",
                        relativeTriggerName:"trigger-0001"
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"daily-0001",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0003",
                        absoluteBegin:1569369600000,
                        absoluteEnd:1569456000000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"daily-0002",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0004",
                        absoluteBegin:1569369600000,
                        absoluteEnd:1569456000000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"weekly-0001",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0005",
                        absoluteBegin:1569888000000,
                        absoluteEnd:1570406400000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"weekly-0002",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0006",
                        absoluteBegin:1569888000000,
                        absoluteEnd:1570406400000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"monthly-0001",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0007",
                        absoluteBegin:1570406400000,
                        absoluteEnd:1575158400000
                    )
                ),
                new \Gs2Cdk\Schedule\Model\Event(
                    name:"monthly-0002",
                    scheduleType: \Gs2Cdk\Schedule\Model\Enums\EventScheduleType::ABSOLUTE,
                    repeatSetting:new \Gs2Cdk\Schedule\Model\RepeatSetting(
                        repeatType: Gs2Cdk\Schedule\Model\Enums\RepeatSettingRepeatType::ALWAYS,
                        options: new \Gs2Cdk\Schedule\Model\Options\RepeatSettingOptions(
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0,
                        )
                    ),
                    options: new \Gs2Cdk\Schedule\Model\Options\EventOptions(
                        metadata:"EVENT_0008",
                        absoluteBegin:1570406400000,
                        absoluteEnd:1575158400000
                    )
                )
            ]
        );
    }
}
print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.schedule.model.Namespace(
            this,
            "namespace-0001"
        ).masterData(
            Arrays.asList(
                new io.gs2.cdk.schedule.model.Event(
                    "event-0001",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0001")
                        .withAbsoluteBegin(10000L)
                        .withAbsoluteEnd(20000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "event-0002",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.RELATIVE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0002")
                        .withRelativeTriggerName("trigger-0001")
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "daily-0001",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0003")
                        .withAbsoluteBegin(1569369600000L)
                        .withAbsoluteEnd(1569456000000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "daily-0002",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0004")
                        .withAbsoluteBegin(1569369600000L)
                        .withAbsoluteEnd(1569456000000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "weekly-0001",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0005")
                        .withAbsoluteBegin(1569888000000L)
                        .withAbsoluteEnd(1570406400000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "weekly-0002",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0006")
                        .withAbsoluteBegin(1569888000000L)
                        .withAbsoluteEnd(1570406400000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "monthly-0001",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0007")
                        .withAbsoluteBegin(1570406400000L)
                        .withAbsoluteEnd(1575158400000L)
                ),
                new io.gs2.cdk.schedule.model.Event(
                    "monthly-0002",
                    io.gs2.cdk.schedule.model.enums.EventScheduleType.ABSOLUTE,
                    new io.gs2.cdk.schedule.model.RepeatSetting(
                        io.gs2.cdk.schedule.model.enums.RepeatSettingRepeatType.ALWAYS,
                        new io.gs2.cdk.schedule.model.options.RepeatSettingOptions()
                            .withBeginDayOfMonth(1)
                            .withEndDayOfMonth(1)
                            .withBeginHour(0)
                            .withEndHour(0)
                            .withActiveDays(1)
                            .withInactiveDays(0)
                    ),
                    new io.gs2.cdk.schedule.model.options.EventOptions()
                        .withMetadata("EVENT_0008")
                        .withAbsoluteBegin(1570406400000L)
                        .withAbsoluteEnd(1575158400000L)
                )
            )
        );
    }
}
System.out.println(new SampleStack().yaml());  // Generate Templatepublic class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Schedule.Model.Namespace(
            stack: this,
            name: "namespace-0001"
        ).MasterData(
            new Gs2Cdk.Gs2Schedule.Model.Event[] {
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "event-0001",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0001",
                        absoluteBegin = 10000L,
                        absoluteEnd = 20000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "event-0002",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Relative,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0002",
                        relativeTriggerName = "trigger-0001"
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "daily-0001",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0003",
                        absoluteBegin = 1569369600000L,
                        absoluteEnd = 1569456000000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "daily-0002",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0004",
                        absoluteBegin = 1569369600000L,
                        absoluteEnd = 1569456000000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "weekly-0001",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0005",
                        absoluteBegin = 1569888000000L,
                        absoluteEnd = 1570406400000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "weekly-0002",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0006",
                        absoluteBegin = 1569888000000L,
                        absoluteEnd = 1570406400000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "monthly-0001",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0007",
                        absoluteBegin = 1570406400000L,
                        absoluteEnd = 1575158400000L
                    }
                ),
                new Gs2Cdk.Gs2Schedule.Model.Event(
                    name: "monthly-0002",
                    scheduleType: Gs2Cdk.Gs2Schedule.Model.Enums.EventScheduleType.Absolute,
                    repeatSetting: new Gs2Cdk.Gs2Schedule.Model.RepeatSetting(
                        repeatType: Gs2Cdk.Gs2Schedule.Model.Enums.RepeatSettingRepeatType.Always,
                        options: new Gs2Cdk.Gs2Schedule.Model.Options.RepeatSettingOptions
                        {
                            beginDayOfMonth = 1,
                            endDayOfMonth = 1,
                            beginHour = 0,
                            endHour = 0,
                            activeDays = 1,
                            inactiveDays = 0
                        }
                    ),
                    options: new Gs2Cdk.Gs2Schedule.Model.Options.EventOptions
                    {
                        metadata = "EVENT_0008",
                        absoluteBegin = 1570406400000L,
                        absoluteEnd = 1575158400000L
                    }
                )
            }
        );
    }
}
Debug.Log(new SampleStack().Yaml());  // Generate Templateimport core from "@/gs2cdk/core";
import schedule from "@/gs2cdk/schedule";
class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new schedule.model.Namespace(
            this,
            "namespace-0001",
        ).masterData(
            [
                new schedule.model.Event(
                    "event-0001",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0001",
                        absoluteBegin: 10000,
                        absoluteEnd: 20000
                    }
                ),
                new schedule.model.Event(
                    "event-0002",
                    schedule.model.EventScheduleType.RELATIVE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0002",
                        relativeTriggerName: "trigger-0001"
                    }
                ),
                new schedule.model.Event(
                    "daily-0001",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0003",
                        absoluteBegin: 1569369600000,
                        absoluteEnd: 1569456000000
                    }
                ),
                new schedule.model.Event(
                    "daily-0002",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0004",
                        absoluteBegin: 1569369600000,
                        absoluteEnd: 1569456000000
                    }
                ),
                new schedule.model.Event(
                    "weekly-0001",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0005",
                        absoluteBegin: 1569888000000,
                        absoluteEnd: 1570406400000
                    }
                ),
                new schedule.model.Event(
                    "weekly-0002",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0006",
                        absoluteBegin: 1569888000000,
                        absoluteEnd: 1570406400000
                    }
                ),
                new schedule.model.Event(
                    "monthly-0001",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0007",
                        absoluteBegin: 1570406400000,
                        absoluteEnd: 1575158400000
                    }
                ),
                new schedule.model.Event(
                    "monthly-0002",
                    schedule.model.EventScheduleType.ABSOLUTE,
                    new schedule.model.RepeatSetting(
                        schedule.model.RepeatSettingRepeatType.ALWAYS,
                        {
                            beginDayOfMonth: 1,
                            endDayOfMonth: 1,
                            beginHour: 0,
                            endHour: 0,
                            activeDays: 1,
                            inactiveDays: 0
                        }
                    ),
                    {
                        metadata: "EVENT_0008",
                        absoluteBegin: 1570406400000,
                        absoluteEnd: 1575158400000
                    }
                )
            ]
        );
    }
}
console.log(new SampleStack().yaml());  // Generate Template
from gs2_cdk import Stack, core, schedule
class SampleStack(Stack):
    def __init__(self):
        super().__init__()
        schedule.Namespace(
            stack=self,
            name="namespace-0001",
        ).master_data(
            events=[
                schedule.Event(
                    name='event-0001',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0001',
                        absolute_begin = 10000,
                        absolute_end = 20000
                    ),
                ),
                schedule.Event(
                    name='event-0002',
                    schedule_type=schedule.EventScheduleType.RELATIVE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0002',
                        relative_trigger_name = 'trigger-0001'
                    ),
                ),
                schedule.Event(
                    name='daily-0001',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0003',
                        absolute_begin = 1569369600000,
                        absolute_end = 1569456000000
                    ),
                ),
                schedule.Event(
                    name='daily-0002',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0004',
                        absolute_begin = 1569369600000,
                        absolute_end = 1569456000000
                    ),
                ),
                schedule.Event(
                    name='weekly-0001',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0005',
                        absolute_begin = 1569888000000,
                        absolute_end = 1570406400000
                    ),
                ),
                schedule.Event(
                    name='weekly-0002',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0006',
                        absolute_begin = 1569888000000,
                        absolute_end = 1570406400000
                    ),
                ),
                schedule.Event(
                    name='monthly-0001',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0007',
                        absolute_begin = 1570406400000,
                        absolute_end = 1575158400000
                    ),
                ),
                schedule.Event(
                    name='monthly-0002',
                    schedule_type=schedule.EventScheduleType.ABSOLUTE,
                    repeat_setting=schedule.RepeatSetting(
                        repeat_type=schedule.RepeatSettingRepeatType.ALWAYS,
                        options=schedule.RepeatSettingOptions(
                            begin_day_of_month=1,
                            end_day_of_month=1,
                            begin_hour=0,
                            end_hour=0,
                            active_days=1,
                            inactive_days=0,
                        ),
                    ),
                    options=schedule.EventOptions(
                        metadata = 'EVENT_0008',
                        absolute_begin = 1570406400000,
                        absolute_end = 1575158400000
                    ),
                ),
            ],
        )
print(SampleStack().yaml())  # Generate TemplateRepeatSetting
繰り返し設定
イベント期間のうち、月曜日の 10:00 ~ 11:00 だけをイベント期間とするような設定をする際に利用します。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| repeatType | 文字列列挙型 enum { “always”, “daily”, “weekly”, “monthly”, “custom” } | ✓ | “always” | ~ 128文字 | 繰り返しの種類 
 | |||||||||||||
| beginDayOfMonth | int | {repeatType} == “monthly” | ✓ | 1 ~ 31 | イベントの繰り返し開始日(月の日数を超える場合は、最終日として扱われます) repeatType が “monthly” であれば必須 | |||||||||||||
| endDayOfMonth | int | {repeatType} == “monthly” | ✓ | 1 ~ 31 | イベントの繰り返し終了日(月の日数を超える場合は、最終日として扱われます) repeatType が “monthly” であれば必須 | |||||||||||||
| beginDayOfWeek | 文字列列挙型 enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {repeatType} == “weekly” | ✓ | ~ 128文字 | イベントの繰り返し開始曜日 repeatType が “weekly” であれば必須 | |||||||||||||
| endDayOfWeek | 文字列列挙型 enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {repeatType} == “weekly” | ✓ | ~ 128文字 | イベントの繰り返し終了曜日 repeatType が “weekly” であれば必須 | |||||||||||||
| beginHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | ✓ | 0 ~ 23 | イベントの繰り返し開始時間(単位:時) | |||||||||||||
| endHour | int | {repeatType} in [“daily”, “weekly”, “monthly”] | ✓ | 0 ~ 24 | イベントの繰り返し終了時間(単位:時) | |||||||||||||
| anchorTimestamp | long | {repeatType} == “custom” | ✓ | サイクルを開始する基準日 (UNIX時間 単位:ミリ秒) repeatType が “custom” であれば必須 | ||||||||||||||
| activeDays | int | {repeatType} == “custom” | ✓ | 1 ~ 2147483646.0 | サイクル内のアクティブな日数 repeatType が “custom” であれば必須 | |||||||||||||
| inactiveDays | int | {repeatType} == “custom” | ✓ | 0 ~ 2147483646.0 | サイクル内のインアクティブな日数 repeatType が “custom” であれば必須 | 
RepeatSchedule
スケジュールの繰り返し状態
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| repeatCount | int | ✓ | 0 ~ 2147483646 | 繰り返し回数 | ||
| currentRepeatStartAt | long | リピート中のイベントの開始日時 (UNIX時間 単位:ミリ秒) | ||||
| currentRepeatEndAt | long | リピート中のイベントの終了日時 (UNIX時間 単位:ミリ秒) | ||||
| lastRepeatEndAt | long | 前回のイベントの終了日時 (UNIX時間 単位:ミリ秒) | ||||
| nextRepeatStartAt | long | 次回のイベントの開始日時 (UNIX時間 単位:ミリ秒) | 
GitHubCheckoutSetting
GitHubからマスターデータをチェックアウトする設定
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| apiKeyId | string | ✓ | ~ 1024文字 | GitHub のAPIキーGRN | ||||||||||
| repositoryName | string | ✓ | ~ 1024文字 | リポジトリ名 | ||||||||||
| sourcePath | string | ✓ | ~ 1024文字 | ソースコードのファイルパス | ||||||||||
| referenceType | 文字列列挙型 enum { “commit_hash”, “branch”, “tag” } | ✓ | ~ 128文字 | コードの取得元 
 | ||||||||||
| commitHash | string | {referenceType} == “commit_hash” | ✓ | ~ 1024文字 | コミットハッシュ referenceType が “commit_hash” であれば必須 | |||||||||
| branchName | string | {referenceType} == “branch” | ✓ | ~ 1024文字 | ブランチ名 referenceType が “branch” であれば必須 | |||||||||
| tagName | string | {referenceType} == “tag” | ✓ | ~ 1024文字 | タグ名 referenceType が “tag” であれば必須 | 
LogSetting
ログの書き出し設定
ログデータの書き出し設定を管理します。この型は、ログデータを書き出すために使用されるログ名前空間の識別子(Namespace ID)を保持します。
ログ名前空間IDは、ログデータを集約し、保存する対象の GS2-Log の名前空間を指定します。
この設定を通じて、この名前空間以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。
GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| loggingNamespaceId | string | ✓ | ~ 1024文字 | ログを出力する GS2-Log のネームスペースGRN | 
TransactionSetting
トランザクション設定
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| enableAutoRun | bool | ✓ | false | 発行したトランザクションをサーバーサイドで自動的に実行するか | ||
| enableAtomicCommit | bool | {enableAutoRun} == true | ✓ | false | トランザクションの実行をアトミックにコミットするか enableAutoRun が true であれば必須 | |
| transactionUseDistributor | bool | {enableAtomicCommit} == true | ✓ | false | トランザクションを非同期処理で実行する enableAtomicCommit が true であれば必須 | |
| commitScriptResultInUseDistributor | bool | {transactionUseDistributor} == true | ✓ | false | スクリプトの結果コミット処理を非同期処理で実行するか transactionUseDistributor が true であれば必須 | |
| acquireActionUseJobQueue | bool | {enableAtomicCommit} == true | ✓ | false | 入手アクションを実行する際に GS2-JobQueue を使用するか enableAtomicCommit が true であれば必須 | |
| distributorNamespaceId | string | ✓ | “grn:gs2:{region}:{ownerId}:distributor:default” | ~ 1024文字 | トランザクションの実行に使用する GS2-Distributor ネームスペース | |
| queueNamespaceId | string | ✓ | “grn:gs2:{region}:{ownerId}:queue:default” | ~ 1024文字 | トランザクションの実行に使用する GS2-JobQueue のネームスペース |