すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::OSS::Website

最終更新日:Mar 17, 2025

ALIYUN::OSS::Website は、Object Storage Service (OSS) バケットの静的 Web サイトホスティングとリダイレクトルールを構成するために使用されます。

構文

{
  "Type": "ALIYUN::OSS::Website",
  "Properties": {
    "BucketName": String,
    "WebsiteConfiguration": Map
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

BucketName

String

はい

いいえ

バケット名。

なし。

WebsiteConfiguration

Map

いいえ

いいえ

Web サイトの構成。

詳細については、「WebsiteConfiguration プロパティ」をご参照ください。

WebsiteConfiguration 構文

"WebsiteConfiguration": {
  "IndexDocument": Map,
  "RoutingRules": List,
  "ErrorDocument": Map
}

WebsiteConfiguration プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ErrorDocument

マップ

いいえ

いいえ

デフォルトのエラーページのプロパティ。

詳細については、「ErrorDocument プロパティ」をご参照ください。

IndexDocument

マップ

いいえ

いいえ

デフォルト ホームページのプロパティ。

詳細については、「IndexDocument プロパティ」をご参照ください。

ルーティング規則

一覧

いいえ

いいえ

リダイレクトルール。最大 20 個のリダイレクトルールを指定できます。

詳細については、「RoutingRules プロパティ」をご参照ください。

IndexDocument 構文

"IndexDocument": {
  "Type": String,
  "Suffix": String,
  "SupportSubDir": String
}

IndexDocument プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Suffix

String

はい

いいえ

デフォルトホームページ。

デフォルトホームページが指定されている場合、名前がスラッシュ(/)で終わるオブジェクトにアクセスすると、OSS はデフォルトホームページを返します。

SupportSubDir

String

いいえ

いいえ

サブディレクトリにアクセスしたときに、サブディレクトリ内のデフォルトホームページへのアクセスをリダイレクトするかどうかを指定します。

有効な値:

  • true: サブディレクトリにアクセスしたときに、サブディレクトリ内のデフォルトホームページへのアクセスをリダイレクトします。

  • false(デフォルト): サブディレクトリにアクセスしたときに、サブディレクトリ内のデフォルトホームページではなく、ルートディレクトリ内のデフォルトホームページへのアクセスをリダイレクトします。

    たとえば、デフォルトホームページが index.html で、アクセスするパスが bucket.oss-cn-hangzhou.aliyuncs.com/subdir/ の場合、SupportSubDir が false に設定されていると、bucket.oss-cn-hangzhou.aliyuncs.com/index.html にリダイレクトされます。 SupportSubDir が true に設定されている場合は、bucket.oss-cn-hangzhou.aliyuncs.com/subdir/index.html にリダイレクトされます。

Type

String

いいえ

いいえ

デフォルトホームページが指定されていて、アクセスされたオブジェクトの名前がスラッシュ(/)で終わっておらず、オブジェクトが存在しない場合に、システムが実行する操作のタイプ。

このプロパティは、SupportSubDir が true に設定されている場合にのみ有効になり、RoutingRule の後、ErrorFile の前に適用されます。たとえば、デフォルトホームページが index.html で、アクセスする abc オブジェクトのパスが bucket.oss-cn-hangzhou.aliyuncs.com/abc で、abc オブジェクトが存在しない場合。有効な値:

  • 0(デフォルト): オブジェクト名 + スラッシュ(/)+ ホームページ形式の abc/index.html が存在するかどうかを確認します。 abc/index.html が存在する場合、システムは 302 リダイレクトコードを返し、Location ヘッダー値はスラッシュ(/)+ オブジェクト名 + スラッシュ(/)形式の /abc/ になります。 abc/index.html が存在しない場合、システムは 404 状態コードを返し、ErrorFile を確認します。

  • 1: 404 状態コードと NoSuchKey エラータイプを返し、ErrorFile を確認します。

  • 2: abc/index.html が存在するかどうかを確認します。 abc/index.html が存在する場合、システムはオブジェクトのコンテンツを返します。 abc/index.html が存在しない場合、システムは 404 状態コードを返し、ErrorFile を確認します。

RoutingRules 構文

"RoutingRules": [
  {
    "Condition": マップ,
    "RuleNumber": 整数,
    "Redirect": マップ
  }
]

RoutingRules プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Condition

Map

はい

いいえ

一致条件。

指定されたすべての条件が満たされた場合にのみ、ルールが実行されます。 ルールは、Condition コンテナー内のノードによって指定されたすべての条件を満たす場合にのみ一致します。 詳細については、「Condition プロパティ」をご参照ください。

RuleNumber

Integer

はい

いいえ

リダイレクトルールのシーケンス番号。 OSS は、指定されたシーケンス番号に基づいてリダイレクトルールを照合し、実行します。

ルールが一致すると、OSS はルールを実行し、後続のルールは実行しません。

Redirect

Map

はい

いいえ

ルールが一致した場合にシステムが実行する操作。

詳細については、「Redirect プロパティ」をご参照ください。

条件構文

"Condition": {
  "IncludeHeaders": リスト,
  "KeyPrefixEquals": 文字列,
  "HttpErrorCodeReturnedEquals": 文字列,
  "KeySuffixEquals": 文字列
}

条件プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

HttpErrorCodeReturnedEquals

String

いいえ

いいえ

HTTP ステータスコード。指定されたオブジェクトにアクセスし、指定された HTTP ステータスコードが返された場合にのみ、ルールが一致と見なされます。RedirectType が Mirror に設定されている場合は、HttpErrorCodeReturnedEquals を 404 に設定する必要があります。

なし。

IncludeHeaders

List

いいえ

いいえ

リクエストに含めるヘッダー。リクエストに指定されたヘッダーとヘッダー値が含まれている場合にのみ、ルールが一致と見なされます。

このプロパティには最大 10 個のヘッダーを指定できます。

KeyPrefixEquals

String

いいえ

いいえ

一致させるオブジェクト名のプレフィックス。

なし。

KeySuffixEquals

String

いいえ

いいえ

一致させるオブジェクト名のサフィックス。

なし。

IncludeHeaders 構文

"IncludeHeaders": [
  {
    "Equals": 文字列,
    "Key": 文字列
  }
]

IncludeHeaders プロパティ

プロパティ

必須

編集可能

説明

制約

Key

String

はい

いいえ

ヘッダー名。

なし。

Equals

String

いいえ

いいえ

ヘッダー値。

なし。

リダイレクト構文

"Redirect": {
  "MirrorURL": 文字列,
  "ReplaceKeyWith": 文字列,
  "MirrorHeaders": マップ,
  "HttpRedirectCode": 文字列,
  "EnableReplacePrefix": ブール値,
  "PassQueryString": ブール値,
  "MirrorFollowRedirect": ブール値,
  "ReplaceKeyPrefixWith": 文字列,
  "RedirectType": 文字列,
  "MirrorPassQueryString": ブール値,
  "MirrorCheckMd5": ブール値,
  "Protocol": 文字列,
  "HostName": 文字列
}

リダイレクトプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

RedirectType

String

はい

いいえ

リダイレクトタイプ。

有効な値:

  • Mirror: ミラーリングベースの原点復帰リダイレクト。OSS はリクエストをオリジンサーバーにリダイレクトします。

  • External: 外部リダイレクト。OSS は、ブラウザまたは別のクライアントを別のアドレスにアクセスするようにリダイレクトする HTTP 3xx 状態コードを返します。

  • AliCDN: Alibaba Cloud CDN (CDN) ベースのリダイレクト。外部リダイレクトと比較して、OSS はリクエストに追加のヘッダーを追加します。CDN がヘッダーを識別すると、CDN はアクセスを指定されたアドレスにリダイレクトし、HTTP 3xx 状態コードではなく取得したデータをユーザーに返します。これにより、クライアントのリダイレクト操作が 1 回不要になり、アクセス速度と効率が向上します。

EnableReplacePrefix

Boolean

いいえ

いいえ

オブジェクト名のプレフィックスを ReplaceKeyPrefixWith の値で置き換えるかどうかを指定します。このプロパティを true に設定すると、オブジェクト名のプレフィックスは ReplaceKeyPrefixWith の値で置き換えられます。このプロパティを空のままにするか、null に設定すると、オブジェクト名のプレフィックスは切り捨てられます。

説明

ReplaceKeyWith が null に設定されている場合にのみ、このプロパティを true に設定できます。

デフォルト値: false。

HttpRedirectCode

String

いいえ

いいえ

応答の HTTP リダイレクトコード。

このプロパティは、RedirectType が External または AliCDN に設定されている場合にのみ有効になります。デフォルト値: 302.

有効な値:

  • 301

  • 302

  • 307

HostName

String

いいえ

いいえ

リダイレクト先のドメイン名。

ドメイン名は、ドメイン名の規則に準拠している必要があります。

たとえば、アクセスするオブジェクトの名前が test、Protocol が https に設定され、HostName が example.com に設定されている場合、Location ヘッダー値は https://example.com/test です。

MirrorURL

String

いいえ

いいえ

ミラーリングベースの原点復帰のオリジン URL。このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

オリジン URL は http:// または https:// で始まり、スラッシュ (/) で終わる必要があります。OSS は URL の末尾にオブジェクト名を追加して、原点復帰 URL を生成します。

たとえば、アクセスするオブジェクトの名前が myobject であるとします。MirrorURL が http://example.com/ に設定されている場合、原点復帰 URL は http://example.com/myobject です。MirrorURL が http://example.com/dir1/ に設定されている場合、原点復帰 URL は http://example.com/dir1/myobject です。このように、OSS はミラーリングベースの原点復帰のために指定されたオリジン URL の末尾に指定されたオブジェクト名を追加して、原点復帰 URL を生成します。

MirrorHeaders

Map

いいえ

いいえ

ミラーリングベースの原点復帰を使用する場合に、原点に返されるヘッダー。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。詳細については、このトピックの「MirrorHeaders プロパティ」セクションをご参照ください。

MirrorFollowRedirect

Boolean

いいえ

いいえ

原点が 3xx 状態コードを返した場合に、Location で指定されたアドレスにアクセスをリダイレクトしてデータをクエリするかどうかを指定します。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。たとえば、ミラーリングベースの原点復帰リクエストが原点に送信され、Location が指定されている場合、原点は 302 状態コードを返します。有効な値:

  • true: OSS は、Location で指定されたアドレスへのアクセスをリダイレクトします。

    true: OSS は、Location で指定されたアドレスにアクセスをリダイレクトします。最大 10 回までリダイレクトされます。上限を超えると、ミラーリングベースの原点復帰リクエストは失敗します。

  • false: OSS は 302 状態コードを返し、Location で指定されたアドレスをクライアントに渡します。 クライアントはアクセスのリダイレクトを行うかどうかを決定します。

    false: OSS は 302 状態コードを返し、Location で指定されたアドレスをクライアントにパススルーします。クライアントはアクセスをリダイレクトするかどうかを決定します。デフォルト値: true。

MirrorPassQueryString

Boolean

いいえ

いいえ

このプロパティは PassQueryString と同じ効果を持ち、PassQueryString よりも優先されます。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。デフォルト値: false。

MirrorCheckMd5

Boolean

いいえ

いいえ

原点から返されたレスポンス本文の MD5 ハッシュをチェックするかどうかを指定します。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

MirrorCheckMd5 が true に設定されていて、オリジンから返された応答に Content-MD5 ヘッダーが含まれている場合、OSS は取得したデータの MD5 ハッシュがヘッダー値と一致するかどうかを確認します。取得したデータの MD5 ハッシュがヘッダー値と一致しない場合、OSS はデータを保存しません。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。MirrorCheckMd5 が true に設定され、原点から返されたレスポンスに Content-Md5 ヘッダーが含まれている場合、OSS は取得したデータの MD5 ハッシュがヘッダー値と一致するかどうかをチェックします。取得したデータの MD5 ハッシュがヘッダー値と一致しない場合、OSS はデータを保存しません。デフォルト値: false.

PassQueryString

Boolean

いいえ

いいえ

システムがリダイレクトまたはミラーリングベースの原点復帰を実行するときに、リダイレクトリクエストに元のリクエストのパラメーターを含めるかどうかを指定します。

たとえば、PassQueryString が true に設定され、a=b&c=d パラメーター設定が OSS に送信されたリクエストに含まれているとします。ルールで指定されたリダイレクトコードが 302 の場合、パラメーター設定はリダイレクトの Location ヘッダー値に追加されます。この例では、Location ヘッダー値は example.com?a=b&c=d に変更されます。リダイレクトタイプがミラーリングベースの原点復帰の場合、原点復帰リクエストを開始するときにもパラメーター設定が含まれます。デフォルト値: false。有効な値: true および false。

既定値: false。有効な値: true および false。

Protocol

String

いいえ

いいえ

プロトコル。

システムがリダイレクト操作を実行し、RedirectType が External または AliCDN に設定されている場合、プロトコルは以下のルールに準拠します。

たとえば、アクセスするオブジェクトの名前が test で、HostName が example.com に設定されているとします。Protocol が https に設定されている場合、Location ヘッダー値は https://example.com/test です。

Protocol の有効な値は、http と https です。上記の例では、HTTP よりも安全な HTTPS に基づいてリダイレクト操作が実行されます。Protocol が http に設定されている場合、Location ヘッダー値は http://example.com/test に変更されます。HTTP は通信内容を暗号化しないため、データ送信のセキュリティが低下することに注意する必要があります。

ReplaceKeyWith

String

いいえ

いいえ

リクエストがリダイレクトされたときに、リクエストされたオブジェクト名を置き換えるために使用される値。

ReplaceKeyWith に変数を指定できます。 ${key} 変数がサポートされています。

ReplaceKeyWith に変数を指定できます。${key} 変数がサポートされています。たとえば、アクセスするオブジェクトの名前が test であるとします。ReplaceKeyWith が prefix/{key} に設定されている場合、prefix/ で指定されたオブジェクト名プレフィックスは、実際のアクセスシナリオのオブジェクトアドレスにも含まれます。この例では、Location ヘッダーで指定されたオブジェクトアドレスは http://example.com/prefix/test.suffix です。suffix はオブジェクト名サフィックスを指定します。prefix/{key} は、実際のアクセスシナリオでオブジェクトアドレスにオブジェクト名プレフィックスを含めるために使用されます。

ReplaceKeyPrefixWith

String

いいえ

いいえ

リダイレクト中にオブジェクト名のプレフィックスを置き換えるために使用される値。

たとえば、KeyPrefixEquals が ABC/ に設定され、ReplaceKeyPrefixWith が def/ に設定されている場合、ABC/test.txt という名前のオブジェクトにアクセスすると、OSS は ABC を def に置き換えます。

たとえば、ABC/test.txt という名前のオブジェクトにアクセスするときに、KeyPrefixEquals が ABC/ に設定され、ReplaceKeyPrefixWith が def/ に設定されている場合、OSS は ABC を def に置き換えます。元のオブジェクトパスは ABC/test.txt です。リダイレクトルールが適用されると、オブジェクトパスは def/test.txt に変更されます。この例では、http://example.com/ABC/test.txt にアクセスすると、http://example.com/def/test.txt にリダイレクトされます。この例は、提供された情報と OSS の URL リダイレクトルールの一般的なメカニズムに基づいて説明されています。実際結果の詳細については、リダイレクトルールを実装する関連システムまたはサービスのドキュメントを参照してください。

この例は、お客様から提供された情報と OSS の URL リダイレクトルールの一般的なメカニズムに基づいて説明されています。実際のリダイレクト結果の詳細については、リダイレクトルールを実装する関連システムまたはサービスのドキュメントをご参照ください。

MirrorHeaders の構文

"MirrorHeaders": {
  "PassAll": ブール値,
  "Pass": リスト,
  "Sets": リスト,
  "Remove": リスト
}

MirrorHeaders プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

PassAll

ブール値

いいえ

いいえ

除外ヘッダーを除くリクエストヘッダーをオリジンにパススルーするかどうかを指定します。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。次のヘッダーは除外されます。

  • content-length、authorization、authorization2、range、date などのヘッダー

  • oss-、x-oss-、または x-drs- で始まるヘッダー

デフォルト値:false。

Pass

リスト

いいえ

いいえ

オリジンにパススルーするヘッダー。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

各ヘッダーの長さは最大 1,024 バイトで、数字、文字、および半角ダッシュ(‒)のみを含めることができます。

このプロパティには最大 10 個のヘッダーを指定できます。

Remove

リスト

いいえ

いいえ

オリジンにパススルーしないヘッダー。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

各ヘッダーの長さは最大 1,024 バイトで、数字、文字、および半角ダッシュ(‒)のみを含めることができます。

このプロパティには最大 10 個のヘッダーを指定できます。

Sets

リスト

いいえ

いいえ

オリジンに送信されるヘッダー。ヘッダーがリクエストに含まれているかどうかに関係なく、オリジンから返されるデータでヘッダーが構成されます。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

このプロパティには最大 10 個のヘッダーを指定できます。詳細については、この Topic の「Sets プロパティ」セクションをご参照ください。

セットの構文

"Sets": [
  {
    "Value": 文字列,
    "Key": 文字列
  }
]

プロパティの設定

プロパティ

タイプ

必須

編集可能

説明

制約

キー

文字列

はい

いいえ

ヘッダーキー。ヘッダーキーは最大 1024 バイトです。このプロパティの文字セットは、Pass の文字セットと同じです。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

文字列

はい

いいえ

ヘッダー値。ヘッダー値は最大 1,024 バイトで、\r\n を含めることはできません。

このプロパティは、RedirectType が Mirror に設定されている場合にのみ有効になります。

IndexDocument 構文

"ErrorDocument": {
  "HttpStatus": 文字列,
  "Key": キー
}

ErrorDocument プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Key

String

はい

いいえ

デフォルトのエラーページ。

エラーページが指定されている場合、アクセスするオブジェクトが存在しない場合、エラーページが返されます。

HttpStatus

String

いいえ

いいえ

エラーページと共に返される HTTP ステータスコード。

有効な値:

  • 200

  • 404 (デフォルト)

戻り値

Fn::GetAtt

なし。

IndexDocument プロパティ

  • YAML 形式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      BucketName:
        Type: String
        Description:
          ja: バケット名。
        Required: true
      WebsiteConfiguration:
        AssociationPropertyMetadata:
          Parameters:
            IndexDocument:
              AssociationPropertyMetadata:
                Parameters:
                  Type:
                    Type: String
                    Description:
                      ja: |-
                        デフォルトホームページを設定した後に、スラッシュ(/)で終わらない Object にアクセスし、その Object が存在しない場合の動作。SupportSubDir が true に設定されている場合にのみ有効で、RoutingRule の後、ErrorFile の前に有効になります。
                        index.html をデフォルトホームページと仮定します。bucket.oss-cn-hangzhou.aliyuncs.com/abc のファイルパスにアクセスする場合、この Object abc は存在しません。この時点で、Type の異なる値に対応する動作は次のとおりです。
                        - 0(デフォルト): abc/index.html が存在するかどうかを確認し(Object + スラッシュ(/)+ ホームページ)、存在する場合は Location ヘッダーに /abc/ の URL コード(スラッシュ(/)+ Object + スラッシュ(/))を付けて 302 を返します。存在しない場合は、404 を返し、ErrorFile の確認を続けます。
                        - 1: 直接 404 を返し、エラー NoSuchKey を返し、ErrorFile の確認を続けます。
                        - 2: abc/index.html が存在するかどうかを確認し、存在する場合は Object の内容を返します。存在しない場合は、404 を返し、ErrorFile の確認を続けます。
                    AllowedValues:
                      - '0'
                      - '1'
                      - '2'
                    Required: false
                  Suffix:
                    Type: String
                    Description:
                      ja: |-
                        デフォルトホームページ。
                        デフォルトホームページを設定した後、スラッシュ(/)で終わる Object にアクセスすると、OSS はこのデフォルトホームページに戻ります。
                    Required: true
                  SupportSubDir:
                    Type: String
                    Description:
                      ja: |-
                        サブディレクトリにアクセスしたときに、そのサブディレクトリのデフォルトホームページにジャンプするかどうか。有効値は次のとおりです。
                        - true: サブディレクトリのデフォルトホームページに移動します。
                        - false(デフォルト): サブディレクトリのデフォルトホームページに移動する代わりに、ルートディレクトリのデフォルトホームページに移動します。
                        index.html をデフォルトホームページと仮定します。bucket.oss-cn-hangzhou.aliyuncs.com/subdir/ にアクセスする場合、SupportSubDir を false に設定すると、bucket.oss-cn-hangzhou.aliyuncs.com/index.html に移動します。SupportSubDir を true に設定すると、bucket.oss-cn-hangzhou.aliyuncs.com/subdir/index.html に転送されます。
                    AllowedValues:
                      - 'true'
                      - 'false'
                    Required: false
              Type: Json
              Description:
                ja: デフォルトホームページのプロパティ。
              Required: false
            RoutingRules:
              AssociationPropertyMetadata:
                Parameter:
                  AssociationPropertyMetadata:
                    Parameters:
                      Condition:
                        AssociationPropertyMetadata:
                          Parameters:
                            IncludeHeaders:
                              AssociationPropertyMetadata:
                                Parameters:
                                  Equals:
                                    Type: String
                                    Description:
                                      ja: ヘッダーの値。
                                    Required: false
                                  Key:
                                    Type: String
                                    Description:
                                      ja: ヘッダーの名前。
                                    Required: true
                              AssociationProperty: List[Parameters]
                              Type: Json
                              Description:
                                ja: リクエストに指定されたヘッダーが含まれており、値が指定された値と一致する場合にのみ、このルールが適用されます。最大 10 個。
                              Required: false
                              MaxLength: 10
                            KeyPrefixEquals:
                              Type: String
                              Description:
                                ja: 一致させる Object 名のプレフィックス。
                              Required: false
                            HttpErrorCodeReturnedEquals:
                              Type: String
                              Description:
                                ja: 指定された Object にアクセスするときに、このステータスが返される必要があります。ジャンプルールがソースタイプへのミラーバックである場合、このフィールドは 404 である必要があります。
                              Required: false
                            KeySuffixEquals:
                              Type: String
                              Description:
                                ja: 一致させる Object 名のサフィックス。
                              Required: false
                        Type: Json
                        Description:
                          ja: |-
                            一致条件。
                            指定された項目がすべて満たされている場合、このルールが実行されます。このコンテナーの下にある各ノードのすべての条件が満たされている場合にのみ、一致と見なされます。
                        Required: true
                      RuleNumber:
                        Type: Number
                        Description:
                          ja: RoutingRule のシーケンス番号と一致させて実行します。OSS は、このシーケンス番号に従ってルールを順番に照合します。一致に成功すると、このルールが実行され、後続のルールは実行されません。
                        Required: true
                        MinValue: 1
                        MaxValue: 20
                      Redirect:
                        AssociationPropertyMetadata:
                          Parameters:
                            MirrorURL:
                              Type: String
                              Description:
                                ja: |-
                                  ソースのソースステーションアドレスにミラーバックします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                  オリジン URL は http:// または https:// で始まり、スラッシュ(/)で終わる必要があります。OSS は Object 名を続けて戻り URL を形成します。
                                  たとえば、Object myobject にアクセスする場合、これを http://example.com/ に指定すると、ソース URL は http://example.com/myobject に戻ります。これを http://example.com/dir1/ に指定すると、ソース URL は http://example.com/dir1/myobject に戻ります。
                              Required: false
                            ReplaceKeyWith:
                              Type: String
                              Description:
                                ja: |-
                                  Redirect を使用すると、Object 名は ReplaceKeyWith で指定された値に置き換えられます。これにより、変数を設定できます。現在サポートされている変数は ${key} で、リクエスト内の Object の名前を表します。
                                  test という Object にアクセスするとします。ReplaceKeyWith を prefix/${key}.suffix に設定すると、Location ヘッダーは http://example.com/prefix/test.suffix になります。
                              Required: false
                            MirrorHeaders:
                              AssociationPropertyMetadata:
                                Parameters:
                                  PassAll:
                                    Type: Boolean
                                    Description:
                                      ja: |-
                                        次のヘッダーを除く他のヘッダーをソースにパススルーするかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                        - content-length、authorization2、authorization、range、date などのヘッダー
                                        - oss-/x-oss-/x-drs- で始まるヘッダー
                                        デフォルト値: false
                                    Required: false
                                  Pass:
                                    AssociationPropertyMetadata:
                                      Parameter:
                                        Type: String
                                        Description:
                                          ja: |-
                                            ソースにミラーバックされるヘッダーを指定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                            各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。
                                        AllowedPattern: ^[-a-zA-Z0-9]{1,1024}$
                                        Required: false
                                    AssociationProperty: List[Parameter]
                                    Type: Json
                                    Description:
                                      ja: |-
                                        指定されたヘッダーをソースにパススルーします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                        各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。
                                        このフィールドには最大 10 個まで指定できます。
                                    Required: false
                                    MaxLength: 10
                                  Sets:
                                    AssociationPropertyMetadata:
                                      Parameters:
                                        Value:
                                          Type: String
                                          Description:
                                            ja: ヘッダーの値を \r\n を含まない最大 1,024 バイトに設定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                          Required: true
                                          MaxLength: 1024
                                        Key:
                                          Type: String
                                          Description:
                                            ja: ヘッダーキーを Pass と同じ文字セットで最大 1,024 バイトに設定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                          AllowedPattern: ^[-a-zA-Z0-9]{1,1024}$
                                          Required: true
                                    AssociationProperty: List[Parameters]
                                    Type: Json
                                    Description:
                                      ja: |-
                                        オリジンにヘッダーを設定します。指定されたヘッダーがリクエストに含まれているかどうかに関係なく、リクエストがオリジンに返送されるときに設定されます。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                        このコンテナーには最大 10 グループまで指定できます。
                                    Required: false
                                    MaxLength: 10
                                  Remove:
                                    AssociationPropertyMetadata:
                                      Parameter:
                                        Type: String
                                        Description:
                                          ja: |-
                                            指定されたヘッダーのソースへのパススルーを無効にします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                            各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。
                                        AllowedPattern: ^[-a-zA-Z0-9]{1,1024}$
                                        Required: false
                                    AssociationProperty: List[Parameter]
                                    Type: Json
                                    Description:
                                      ja: |-
                                        指定されたヘッダーのソースへのパススルーを無効にします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                        各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。
                                        このフィールドには最大 10 個まで指定できます。
                                    Required: false
                                    MaxLength: 10
                              Type: Json
                              Description:
                                ja: ソースにミラーバックされるヘッダーを指定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                              Required: false
                            HttpRedirectCode:
                              Type: String
                              Description:
                                ja: |-
                                  ジャンプ時に返されるステータスコード。RedirectType が External または AliCDN に設定されている場合にのみ使用されます。デフォルト値は 302 です。
                                  値: 301、302、307
                              AllowedValues:
                                - '301'
                                - '302'
                                - '307'
                              Required: false
                            EnableReplacePrefix:
                              Type: Boolean
                              Description:
                                ja: |-
                                  このフィールドを true に設定すると、Object のプレフィックスは ReplaceKeyPrefixWith で指定された値に置き換えられます。このフィールドが指定されていないか空の場合、Object プレフィックスは切り捨てられます。
                                  注: ReplaceKeyWith フィールドが null でない場合、このフィールドを true に設定することはできません。
                                  デフォルト値: false
                              Required: false
                            PassQueryString:
                              Type: Boolean
                              Description:
                                ja: |-
                                  ジャンプまたはソースルールへのミラーバックを実行するときに、リクエストパラメータを保持するかどうか。
                                  ユーザーがリクエストパラメータ a=b&c=d を使用して OSS にリクエストし、PassQueryString を true に設定した場合、ルールが 302 ジャンプの場合、このリクエストパラメータはジャンプの Location ヘッダーに追加されます。たとえば、Location:example.com?a=b&c=d の場合、ジャンプタイプはソースへのミラーバックであるため、このリクエストパラメータは開始されたソースリクエストに戻されます。
                                  有効値: true、false(デフォルト)
                              Required: false
                            MirrorFollowRedirect:
                              Type: Boolean
                              Description:
                                ja: |-
                                  ソースへのミラーリングによって取得された結果が 3xx の場合、指定された Location にジャンプしてデータを取得し続けるかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                  たとえば、ソースにミラーバックするときに、ソースが Location を指定した 302 を返すとします。
                                  - true に設定すると、OSS は Location へのリクエストを続けます。
                                  最大 10 回ジャンプできます。10 回を超えてジャンプすると、ソースへのミラーバックは失敗します。
                                  - false に設定すると、OSS は 302 を返し、Location をパススルーします。
                                  デフォルト値: true
                              Required: false
                            ReplaceKeyPrefixWith:
                              Type: String
                              Description:
                                ja: |-
                                  この値は、Redirect の Object 名のプレフィックスに置き換えられます。プレフィックスが空の場合、文字列は Object 名の前に挿入されます。
                                  注: ReplaceKeyWith または ReplaceKeyPrefixWith ノードのみが許可されます。
                                  ABC/test.txt という Object にアクセスするとします。KeyPrefixEquals を ABC/ に設定し、ReplaceKeyPrefixWith を def/ に設定すると、Location ヘッダーは http://example.com/def/test.txt になります。
                              Required: false
                            RedirectType:
                              Type: String
                              Description:
                                ja: |-
                                  ジャンプのタイプを指定します。有効値は次のとおりです。
                                  - Mirror: ソースにミラーバックします。
                                  - External: 外部ブランチ。つまり、OSS は別のアドレスへのブランチを指定する 3xx リクエストを返します。
                                  - AliCDN: Alibaba Cloud CDN ジャンプ。主に Alibaba Cloud の CDN に使用されます。External とは異なり、OSS は追加のヘッダーを追加します。このヘッダーを識別した後、Alibaba Cloud CDN は指定されたアドレスにアクティブにジャンプし、取得したデータをユーザーに返します。3xx ジャンプリクエストをユーザーに返すわけではありません。
                              AllowedValues:
                                - Mirror
                                - External
                                - AliCDN
                              Required: true
                            MirrorPassQueryString:
                              Type: Boolean
                              Description:
                                ja: |-
                                  PassQueryString と同じですが、PassQueryString よりも優先されます。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                  デフォルト値: false
                              Required: false
                            MirrorCheckMd5:
                              Type: Boolean
                              Description:
                                ja: |-
                                  ソース本文にミラーバックするときに MD5 をチェックするかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。
                                  MirrorCheckMd5 が true に設定され、ソースから返された応答に Content-Md5 ヘッダーが含まれている場合、OSS はプルされたデータの MD5 がこのヘッダーと一致するかどうかをチェックします。一致しない場合、OSS には保存されません。
                                  デフォルト値: false
                              Required: false
                            Protocol:
                              Type: String
                              Description:
                                ja: |-
                                  ジャンプ時のプロトコル。RedirectType が External または AliCDN に設定されている場合にのみ使用されます。
                                  アクセスするファイルが test で、example.com に移動するように設定し、Protocol を https に設定すると、Location ヘッダーは https://example.com/test になります。
                                  値: http、https
                              AllowedValues:
                                - http
                                - https
                              Required: false
                            HostName:
                              Type: String
                              Description:
                                ja: |-
                                  ジャンプのドメイン名。ドメイン名はドメイン名仕様に準拠している必要があります。
                                  アクセスするファイルが test で、Protocol が https に設定され、Hostname が example.com に設定されている場合、Location ヘッダーは https://example.com/test になります。
                              Required: false
                        Type: Json
                        Description:
                          ja: このルールが一致したときに実行されるアクションを指定します。
                        Required: true
                  Type: Json
                  Description:
                    ja: ルーティングルールのプロパティ。
                  Required: false
              AssociationProperty: List[Parameter]
              Type: Json
              Description:
                ja: ルーティングルールの一覧。最大 20 個。
              Required: false
              MaxLength: 20
            ErrorDocument:
              AssociationPropertyMetadata:
                Parameters:
                  HttpStatus:
                    Type: String
                    Description:
                      ja: エラーページの HTTP ステータスコード。有効値: 200、404(デフォルト)。
                    AllowedValues:
                      - '200'
                      - '404'
                    Required: false
                  Key:
                    Type: String
                    Description:
                      ja: |-
                        デフォルトのエラーページ。
                        エラーページが指定されている場合、アクセスされた Object が存在しないと、このエラーページが返されます。
                    Required: true
              Type: Json
              Description:
                ja: デフォルトエラーページのプロパティ。
              Required: false
        Type: Json
        Description:
          ja: ウェブサイトの構成。
        Required: false
    Resources:
      Website:
        Type: ALIYUN::OSS::Website
        Properties:
          BucketName:
            Ref: BucketName
          WebsiteConfiguration:
            Ref: WebsiteConfiguration
    
  • JSON 形式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "BucketName": {
          "Type": "String",
          "Description": {
            "ja": "バケット名。"
          },
          "Required": true
        },
        "WebsiteConfiguration": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "IndexDocument": {
                "AssociationPropertyMetadata": {
                  "Parameters": {
                    "Type": {
                      "Type": "String",
                      "Description": {
                        "ja": "デフォルトホームページを設定した後に、スラッシュ(/)で終わらない Object にアクセスし、その Object が存在しない場合の動作。SupportSubDir が true に設定されている場合にのみ有効で、RoutingRule の後、ErrorFile の前に有効になります。\nindex.html をデフォルトホームページと仮定します。 bucket.oss-cn-hangzhou.aliyuncs.com/abc のファイルパスにアクセスする場合、この Object abc は存在しません。この時点で、Type の異なる値に対応する動作は次のとおりです。\n- 0(デフォルト): abc/index.html が存在するかどうかを確認し(Object + スラッシュ(/)+ ホームページ)、存在する場合は Location ヘッダーに /abc/ の URL コード(スラッシュ(/)+ Object + スラッシュ(/))を付けて 302 を返します。存在しない場合は、404 を返し、ErrorFile の確認を続けます。\n- 1: 直接 404 を返し、エラー NoSuchKey を返し、ErrorFile の確認を続けます。\n- 2: abc/index.html が存在するかどうかを確認し、存在する場合は Object の内容を返します。存在しない場合は、404 を返し、ErrorFile の確認を続けます。"
                      },
                      "AllowedValues": [
                        "0",
                        "1",
                        "2"
                      ],
                      "Required": false
                    },
                    "Suffix": {
                      "Type": "String",
                      "Description": {
                        "ja": "デフォルトホームページ。\nデフォルトホームページを設定した後、スラッシュ(/)で終わる Object にアクセスすると、OSS はこのデフォルトホームページに戻ります。"
                      },
                      "Required": true
                    },
                    "SupportSubDir": {
                      "Type": "String",
                      "Description": {
                        "ja": "サブディレクトリにアクセスしたときに、そのサブディレクトリのデフォルトホームページにジャンプするかどうか。有効値は次のとおりです。\n- true: サブディレクトリのデフォルトホームページに移動します。\n- false(デフォルト): サブディレクトリのデフォルトホームページに移動する代わりに、ルートディレクトリのデフォルトホームページに移動します。\nindex.html をデフォルトホームページと仮定します。 bucket.oss-cn-hangzhou.aliyuncs.com/subdir/ にアクセスする場合、SupportSubDir を false に設定すると、bucket.oss-cn-hangzhou.aliyuncs.com/index.html に移動します。SupportSubDir を true に設定すると、bucket.oss-cn-hangzhou.aliyuncs.com/subdir/index.html に転送されます。"
                      },
                      "AllowedValues": [
                        "true",
                        "false"
                      ],
                      "Required": false
                    }
                  }
                },
                "Type": "Json",
                "Description": {
                  "ja": "デフォルトホームページのプロパティ。"
                },
                "Required": false
              },
              "RoutingRules": {
                "AssociationPropertyMetadata": {
                  "Parameter": {
                    "AssociationPropertyMetadata": {
                      "Parameters": {
                        "Condition": {
                          "AssociationPropertyMetadata": {
                            "Parameters": {
                              "IncludeHeaders": {
                                "AssociationPropertyMetadata": {
                                  "Parameters": {
                                    "Equals": {
                                      "Type": "String",
                                      "Description": {
                                        "ja": "ヘッダーの値。"
                                      },
                                      "Required": false
                                    },
                                    "Key": {
                                      "Type": "String",
                                      "Description": {
                                        "ja": "ヘッダーの名前。"
                                      },
                                      "Required": true
                                    }
                                  }
                                },
                                "AssociationProperty": "List[Parameters]",
                                "Type": "Json",
                                "Description": {
                                  "ja": "リクエストに指定されたヘッダーが含まれており、値が指定された値と一致する場合にのみ、このルールが適用されます。最大 10 個。"
                                },
                                "Required": false,
                                "MaxLength": 10
                              },
                              "KeyPrefixEquals": {
                                "Type": "String",
                                "Description": {
                                  "ja": "一致させる Object 名のプレフィックス。"
                                },
                                "Required": false
                              },
                              "HttpErrorCodeReturnedEquals": {
                                "Type": "String",
                                "Description": {
                                  "ja": "指定された Object にアクセスするときに、このステータスが返される必要があります。ジャンプルールがソースタイプへのミラーバックである場合、このフィールドは 404 である必要があります。"
                                },
                                "Required": false
                              },
                              "KeySuffixEquals": {
                                "Type": "String",
                                "Description": {
                                  "ja": "一致させる Object 名のサフィックス。"
                                },
                                "Required": false
                              }
                            }
                          },
                          "Type": "Json",
                          "Description": {
                            "ja": "一致条件。\n指定された項目がすべて満たされている場合、このルールが実行されます。このコンテナーの下にある各ノードのすべての条件が満たされている場合にのみ、一致と見なされます。"
                          },
                          "Required": true
                        },
                        "RuleNumber": {
                          "Type": "Number",
                          "Description": {
                            "ja": "RoutingRule のシーケンス番号と一致させて実行します。OSS は、このシーケンス番号に従ってルールを順番に照合します。一致に成功すると、このルールが実行され、後続のルールは実行されません。"
                          },
                          "Required": true,
                          "MinValue": 1,
                          "MaxValue": 20
                        },
                        "Redirect": {
                          "AssociationPropertyMetadata": {
                            "Parameters": {
                              "MirrorURL": {
                                "Type": "String",
                                "Description": {
                                  "ja": "ソースのソースステーションアドレスにミラーバックします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\nオリジン URL は http:// または https:// で始まり、スラッシュ(/)で終わる必要があります。OSS は Object 名を続けて戻り URL を形成します。\nたとえば、Object myobject にアクセスする場合、これを http://example.com/ に指定すると、ソース URL は http://example.com/myobject に戻ります。これを http://example.com/dir1/ に指定すると、ソース URL は http://example.com/dir1/myobject に戻ります。"
                                },
                                "Required": false
                              },
                              "ReplaceKeyWith": {
                                "Type": "String",
                                "Description": {
                                  "ja": "Redirect を使用すると、Object 名は ReplaceKeyWith で指定された値に置き換えられます。これにより、変数を設定できます。現在サポートされている変数は ${key} で、リクエスト内の Object の名前を表します。\ntest という Object にアクセスするとします。ReplaceKeyWith を prefix/${key}.suffix に設定すると、Location ヘッダーは http://example.com/prefix/test.suffix になります。"
                                },
                                "Required": false
                              },
                              "MirrorHeaders": {
                                "AssociationPropertyMetadata": {
                                  "Parameters": {
                                    "PassAll": {
                                      "Type": "Boolean",
                                      "Description": {
                                        "ja": "次のヘッダーを除く他のヘッダーをソースにパススルーするかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\n- content-length、authorization2、authorization、range、date などのヘッダー\n- oss-/x-oss-/x-drs- で始まるヘッダー\nデフォルト値: false"
                                      },
                                      "Required": false
                                    },
                                    "Pass": {
                                      "AssociationPropertyMetadata": {
                                        "Parameter": {
                                          "Type": "String",
                                          "Description": {
                                            "ja": "ソースにミラーバックされるヘッダーを指定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\n各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。"
                                          },
                                          "AllowedPattern": "^[-a-zA-Z0-9]{1,1024}$",
                                          "Required": false
                                        }
                                      },
                                      "AssociationProperty": "List[Parameter]",
                                      "Type": "Json",
                                      "Description": {
                                        "ja": "指定されたヘッダーをソースにパススルーします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\n各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。\nこのフィールドには最大 10 個まで指定できます。"
                                      },
                                      "Required": false,
                                      "MaxLength": 10
                                    },
                                    "Sets": {
                                      "AssociationPropertyMetadata": {
                                        "Parameters": {
                                          "Value": {
                                            "Type": "String",
                                            "Description": {
                                              "ja": "ヘッダーの値を \\r\\n を含まない最大 1,024 バイトに設定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。"
                                            },
                                            "Required": true,
                                            "MaxLength": 1024
                                          },
                                          "Key": {
                                            "Type": "String",
                                            "Description": {
                                              "ja": "ヘッダーキーを Pass と同じ文字セットで最大 1,024 バイトに設定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。"
                                            },
                                            "AllowedPattern": "^[-a-zA-Z0-9]{1,1024}$",
                                            "Required": true
                                          }
                                        }
                                      },
                                      "AssociationProperty": "List[Parameters]",
                                      "Type": "Json",
                                      "Description": {
                                        "ja": "オリジンにヘッダーを設定します。指定されたヘッダーがリクエストに含まれているかどうかに関係なく、リクエストがオリジンに返送されるときに設定されます。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\nこのコンテナーには最大 10 グループまで指定できます。"
                                      },
                                      "Required": false,
                                      "MaxLength": 10
                                    },
                                    "Remove": {
                                      "AssociationPropertyMetadata": {
                                        "Parameter": {
                                          "Type": "String",
                                          "Description": {
                                            "ja": "指定されたヘッダーのソースへのパススルーを無効にします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\n各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。"
                                          },
                                          "AllowedPattern": "^[-a-zA-Z0-9]{1,1024}$",
                                          "Required": false
                                        }
                                      },
                                      "AssociationProperty": "List[Parameter]",
                                      "Type": "Json",
                                      "Description": {
                                        "ja": "指定されたヘッダーのソースへのパススルーを無効にします。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\n各ヘッダーの長さは最大 1,024 バイトで、文字セットは 0-9、a-z、A-Z、ダッシュ(-)です。\nこのフィールドには最大 10 個まで指定できます。"
                                      },
                                      "Required": false,
                                      "MaxLength": 10
                                    }
                                  }
                                },
                                "Type": "Json",
                                "Description": {
                                  "ja": "ソースにミラーバックされるヘッダーを指定します。これは、RedirectType が Mirror に設定されている場合にのみ機能します。"
                                },
                                "Required": false
                              },
                              "HttpRedirectCode": {
                                "Type": "String",
                                "Description": {
                                  "ja": "ジャンプ時に返されるステータスコード。RedirectType が External または AliCDN に設定されている場合にのみ使用されます。デフォルト値は 302 です。\n値: 301、302、307"
                                },
                                "AllowedValues": [
                                  "301",
                                  "302",
                                  "307"
                                ],
                                "Required": false
                              },
                              "EnableReplacePrefix": {
                                "Type": "Boolean",
                                "Description": {
                                  "ja": "このフィールドを true に設定すると、Object のプレフィックスは ReplaceKeyPrefixWith で指定された値に置き換えられます。このフィールドが指定されていないか空の場合、Object プレフィックスは切り捨てられます。\n注: ReplaceKeyWith フィールドが null でない場合、このフィールドを true に設定することはできません。\nデフォルト値: false"
                                },
                                "Required": false
                              },
                              "PassQueryString": {
                                "Type": "Boolean",
                                "Description": {
                                  "ja": "ジャンプまたはソースルールへのミラーバックを実行するときに、リクエストパラメータを保持するかどうか。\nユーザーがリクエストパラメータ a=b&c=d を使用して OSS にリクエストし、PassQueryString を true に設定した場合、ルールが 302 ジャンプの場合、このリクエストパラメータはジャンプの Location ヘッダーに追加されます。たとえば、Location:example.com?a=b&c=d の場合、ジャンプタイプはソースへのミラーバックであるため、このリクエストパラメータは開始されたソースリクエストに戻されます。\n有効値: true、false(デフォルト)"
                                },
                                "Required": false
                              },
                              "MirrorFollowRedirect": {
                                "Type": "Boolean",
                                "Description": {
                                  "ja": "ソースへのミラーリングによって取得された結果が 3xx の場合、指定された Location にジャンプしてデータを取得し続けるかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\nたとえば、ソースにミラーバックするときに、ソースが Location を指定した 302 を返すとします。\n- true に設定すると、OSS は Location へのリクエストを続けます。\n最大 10 回ジャンプできます。10 回を超えてジャンプすると、ソースへのミラーバックは失敗します。\n- false に設定すると、OSS は 302 を返し、Location をパススルーします。\nデフォルト値: true"
                                },
                                "Required": false
                              },
                              "ReplaceKeyPrefixWith": {
                                "Type": "String",
                                "Description": {
                                  "ja": "この値は、Redirect の Object 名のプレフィックスに置き換えられます。プレフィックスが空の場合、文字列は Object 名の前に挿入されます。\n注: ReplaceKeyWith または ReplaceKeyPrefixWith ノードのみが許可されます。\nABC/test.txt という Object にアクセスするとします。KeyPrefixEquals を ABC/ に設定し、ReplaceKeyPrefixWith を def/ に設定すると、Location ヘッダーは http://example.com/def/test.txt になります。"
                                },
                                "Required": false
                              },
                              "RedirectType": {
                                "Type": "String",
                                "Description": {
                                  "ja": "ジャンプのタイプを指定します。有効値は次のとおりです。\n- Mirror: ソースにミラーバックします。\n- External: 外部ブランチ。つまり、OSS は別のアドレスへのブランチを指定する 3xx リクエストを返します。\n- AliCDN: Alibaba Cloud CDN ジャンプ。主に Alibaba Cloud の CDN に使用されます。External とは異なり、OSS は追加のヘッダーを追加します。このヘッダーを識別した後、Alibaba Cloud CDN は指定されたアドレスにアクティブにジャンプし、取得したデータをユーザーに返します。3xx ジャンプリクエストをユーザーに返すわけではありません。"
                                },
                                "AllowedValues": [
                                  "Mirror",
                                  "External",
                                  "AliCDN"
                                ],
                                "Required": true
                              },
                              "MirrorPassQueryString": {
                                "Type": "Boolean",
                                "Description": {
                                  "ja": "PassQueryString と同じですが、PassQueryString よりも優先されます。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\nデフォルト値: false"
                                },
                                "Required": false
                              },
                              "MirrorCheckMd5": {
                                "Type": "Boolean",
                                "Description": {
                                  "ja": "ソース本文にミラーバックするときに MD5 をチェックするかどうか。これは、RedirectType が Mirror に設定されている場合にのみ機能します。\nMirrorCheckMd5 が true に設定され、ソースから返された応答に Content-Md5 ヘッダーが含まれている場合、OSS はプルされたデータの MD5 がこのヘッダーと一致するかどうかをチェックします。一致しない場合、OSS には保存されません。\nデフォルト値: false"
                                },
                                "Required": false
                              },
                              "Protocol": {
                                "Type": "String",
                                "Description": {
                                  "ja": "ジャンプ時のプロトコル。RedirectType が External または AliCDN に設定されている場合にのみ使用されます。\nアクセスするファイルが test で、example.com に移動するように設定し、Protocol を https に設定すると、Location ヘッダーは https://example.com/test になります。\n値: http、https"
                                },
                                "AllowedValues": [
                                  "http",
                                  "https"
                                ],
                                "Required": false
                              },
                              "HostName": {
                                "Type": "String",
                                "Description": {
                                  "ja": "ジャンプのドメイン名。ドメイン名はドメイン名仕様に準拠している必要があります。\nアクセスするファイルが test で、Protocol が https に設定され、Hostname が example.com に設定されている場合、Location ヘッダーは https://example.com/test になります。"
                                },
                                "Required": false
                              }
                            }
                          },
                          "Type": "Json",
                          "Description": {
                            "ja": "このルールが一致したときに実行されるアクションを指定します。"
                          },
                          "Required": true
                        }
                      }
                    },
                    "Type": "Json",
                    "Description": {
                      "ja": "ルーティングルールのプロパティ。"
                    },
                    "Required": false
                  }
                },
                "AssociationProperty": "List[Parameter]",
                "Type": "Json",
                "Description": {
                  "ja": "ルーティングルールの一覧。最大 20 個。"
                },
                "Required": false,
                "MaxLength": 20
              },
              "ErrorDocument": {
                "AssociationPropertyMetadata": {
                  "Parameters": {
                    "HttpStatus": {
                      "Type": "String",
                      "Description": {
                        "ja": "エラーページの HTTP ステータスコード。有効値: 200、404(デフォルト)。"
                      },
                      "AllowedValues": [
                        "200",
                        "404"
                      ],
                      "Required": false
                    },
                    "Key": {
                      "Type": "String",
                      "Description": {
                        "ja": "デフォルトのエラーページ。\nエラーページが指定されている場合、アクセスされた Object が存在しないと、このエラーページが返されます。"
                      },
                      "Required": true
                    }
                  }
                },
                "Type": "Json",
                "Description": {
                  "ja": "デフォルトエラーページのプロパティ。"
                },
                "Required": false
              }
            }
          },
          "Type": "Json",
          "Description": {
            "ja": "ウェブサイトの構成。"
          },
          "Required": false
        }
      },
      "Resources": {
        "Website": {
          "Type": "ALIYUN::OSS::Website",
          "Properties": {
            "BucketName": {
              "Ref": "BucketName"
            },
            "WebsiteConfiguration": {
              "Ref": "WebsiteConfiguration"
            }
          }
        }
      }
    }