

# リソースの使用
<a name="more-resources"></a>

AWS Explorer にデフォルトで表示されている AWS サービスへのアクセスに加えて、**[Resources]** (リソース) を選択して、数百ものリソースから選択してインターフェイスに追加することもできます。AWS では、**リソース**はユーザーが操作できるエンティティです。追加できるリソースには、Amazon AppFlow、Amazon Kinesis Data Streams、AWS IAM ロール、Amazon VPC、および Amazon CloudFront ディストリビューションなどがあります。

選択したら、**リソース** に進み、リソースタイプを展開して、そのタイプで使用可能なリソースを一覧表示します。例えば、`AWS::Lambda::Function` リソースタイプを選択すると、さまざまな関数、そのプロパティ、および属性を定義するリソースにアクセスできます。

リソースタイプを **[Resources]** (リソース) に追加すると、次の方法でリソースタイプとそのリソースを操作できます。
+ このリソースタイプについて、現在の AWS リージョンで使用可能な既存のリソースを一覧表示します。
+ リソースを記述する JSON ファイルの読み取り専用バージョンを表示します。
+ リソースのリソース識別子をコピーします。
+ リソースタイプの目的およびリソースをモデリングするためのスキーマ (JSON および YAML 形式) について説明する AWS のドキュメントを表示します。
+ スキーマに準拠する JSON 形式のテンプレートを編集して保存して、新しいリソースを作成します。**\***
+ 既存のリソースを更新または削除します。**\***

**重要**  
**\*** 現在の AWS Toolkit for JetBrains では、リソースの作成、編集、削除のオプションは*実験的な機能*です。実験的な機能は引き続きテストおよび更新されるため、ユーザビリティに問題がある可能性があります。実験的な特徴は、通知なしに AWS Toolkit for JetBrains から削除される可能性があります。  
リソースに実験的機能を使用できるようにするには、JetBrains IDE の **[設定]** ペインを開き、**[ツール]** を展開してから、**[AWS]**、**[実験的機能]** を選択します。**[JSON リソースの変更]** を選択して、リソースを作成、更新、削除できるようにします。  
  
詳細については、「[実験的な機能の使用](experimental-features.md)」を参照してください。

## リソースにアクセスするための IAM アクセス許可
<a name="cloud-api-permissions"></a>

AWS サービスに関連付けられたリソースにアクセスするには、特定の AWS Identity and Access Management アクセス許可が必要です。例えば、IAM エンティティ (ユーザーまたはロールなど) は、`AWS::Lambda::Function` リソースにアクセスするために Lambda アクセス許可を必要とします。

IAM エンティティには、サービスリソースへのアクセス許可だけでなく、自身に代わって AWS Toolkit for JetBrains が AWS クラウドコントロール API オペレーションを呼び出すめためのアクセス許可も必要になります。Cloud Control API オペレーションでは、IAM ユーザーまたはロールがリモートリソースにアクセスして更新できます。

アクセス許可を付与する場合、ツールキットインターフェイスを使用して API オペレーションを呼び出す IAM エンティティに AWS マネージドポリシー (**PowerUserAccess**) をアタッチするのが最も簡単な方法です。この[マネージドポリシー](https://docs.aws.amazon.com/AM/latest/UserGuide/access_policies_job-functions.html#jf_developer-power-user)では、API オペレーションの呼び出しなど、アプリケーション開発タスクを実行するために一定の範囲のアクセス許可が付与されます。

リモートリソースで使用可能な API オペレーションを定義する特定のアクセス許可については、「[AWS クラウドコントロール API ユーザーガイド](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/security.html)」を参照してください。

## 既存のリソースの追加と操作
<a name="configure-resources"></a>

1. **[AWS エクスプローラー]** で **[リソース]** を右クリックし、**[リソースの追加または削除]** を選択します。

   **[設定]** ペインの **[その他の エクスプローラーリソース]** には、選択可能なリソースタイプのリストが表示されます。
**注記**  
リソースタイプのリストは、**[リソース]** の下にある **[リソースを追加または削除]** ノードをダブルクリックして表示することもできます。  
![構成するリソースを選択します「」。](http://docs.aws.amazon.com/ja_jp/toolkit-for-jetbrains/latest/userguide/images/add-resources-renamed.png)

1. **[その他の エクスプローラーリソース]** で、**[AWS エクスプローラー]** に追加するリソースタイプを選択し、**[戻る]** を押すか **[OK]** を選択して確定します。

   選択したリソースタイプは、[**リソース**] に表示されます
**注記**  
リソースタイプを **[AWS エクスプローラー]** にすでに追加済みの場合は、そのタイプのチェックボックスをオフにすると、**[OK]** をクリックした後 **[リソース]** の下のリストに表示されなくなります。現在選択されているリソースタイプのみが、**[AWS エクスプローラー]** に表示されます。

1. リソースタイプに既に存在するリソースを表示するには、そのタイプのエントリを展開します。

   使用可能なリソースのリストが、リソースタイプの下に表示されます。

1. 特定のリソースを操作するには、リソースの名前を右クリックし、次のいずれかを選択します。
   + **[リソースの表示]**: リソースを記述する JSON 形式のテンプレートの読み取り専用バージョンを表示します。

     テンプレートが表示され、必要となる [experimental feature](#experimental-feature-warning) が有効になっている場合は、**[編集]** を選択することで変更できます。
**注記**  
リソースをダブルクリックして表示することもできます。
   + **[識別子をコピー]**: 特定のリソースの識別子をクリップボードにコピーします。(例えば、`AWS::DynamoDB::Table` リソースは `TableName` プロパティを使用して識別できます。) 
   + **[リソースの更新]**: JetBrains エディターでリソースの JSON 形式のテンプレートを編集します。詳細については、「[リソースの作成と編集](#create-resources)」を参照してください。
   + **[リソースの削除]**: 表示されたダイアログボックスで削除を確認して、リソースを削除します。(リソースの削除は、AWS Toolkit for JetBrains のこのバージョンでは現在 [experimental feature](#experimental-feature-warning) です。)
**警告**  
リソースを削除すると、そのリソースを使用する AWS CloudFormation スタックは更新に失敗します。この更新の失敗を修正するには、リソースを再作成するか、スタックの CloudFormation テンプレートテンプレートにリソースへのリファレンスを削除する必要があります。詳細情報は、この [ナレッジセンターの記事](https://aws.amazon.com/premiumsupport/knowledge-center/failing-stack-updates-deleted/) を参照してください。  
![選択したリソースのメニューオプション。](http://docs.aws.amazon.com/ja_jp/toolkit-for-jetbrains/latest/userguide/images/resource-menu-options-renamed.png)

## リソースの作成と編集
<a name="create-resources"></a>

**重要**  
リソースの作成と更新は、このバージョンの AWS Toolkit for JetBrains では現在 [experimental feature](#experimental-feature-warning) となっています。

新しいリソースを作成するには、[**リソース**] リストにリソースタイプを追加し、リソース、そのプロパティ、および属性を定義する JSON 形式のテンプレートを編集します。

例えば、`AWS::SageMaker::UserProfile` リソースタイプに属しているリソースは、Amazon SageMaker Studio のユーザープロファイルを作成するテンプレートで定義されます。このユーザープロファイルリソースを定義するテンプレートは、`AWS::SageMaker::UserProfile` のリソースタイプスキーマに準拠している必要があります。例えば、プロパティが見つからないか正しくないためにテンプレートがスキーマに準拠していない場合は、リソースを作成または更新することはできません。

1. **[リソース]** を右クリックし、**[リソースの追加または削除]** を選択して、作成するリソースのリソースタイプを追加します。

1. リソースタイプが **[リソース]** の下に追加されたら、そのリソース名を右クリックして **[リソースを作成]** を選択します。**[ドキュメントの表示]** を選択することで、リソースをモデル化する方法に関する情報にアクセスすることもできます。  
![選択したリソースタイプのメニューオプション。](http://docs.aws.amazon.com/ja_jp/toolkit-for-jetbrains/latest/userguide/images/resource-new.png)

1. エディタで、リソーステンプレートを構成するプロパティの定義を開始します。オートコンプリート機能では、テンプレートのスキーマに適合するプロパティ名が提案されます。テンプレートが JSON 構文に完全に準拠すると、エラー数が緑色のチェックマークに置き換えられます。スキーマの詳細な情報については、**[ドキュメントの表示]** を選択してください。
**注記**  
テンプレートは基本的な JSON 構文に準拠しているだけでなく、リソースタイプをモデル化するスキーマにも準拠している必要があります。リモートリソースを作成または更新するときに、テンプレートがスキーマモデルに対して検証されます。  
![リソースタイプを説明するテンプレートを表示するエディタ。](http://docs.aws.amazon.com/ja_jp/toolkit-for-jetbrains/latest/userguide/images/resource-template.png)

1. リソースの宣言が完了したら、**[作成]** を選択してテンプレートを検証し、リモート AWS Cloud にリソースを保存します。(既存のリソースを変更する場合は **[更新]** を選択します。)

   テンプレートがスキーマに従ってリソースを定義している場合は、リソースが作成されたことを確認するメッセージが表示されます。(リソースが既に存在する場合は、リソースが更新されたことを確認するメッセージが表示されます。)

   リソースが作成されると、リソースタイプの見出しの下のリストに追加されます。

1. ファイルにエラーが含まれている場合は、リソースを作成または更新できなかったことを示すメッセージが表示されます。**[イベントログ]** を開いて、修正する必要があるテンプレート要素を特定します。