Skip to content

Commit 9d4be9a

Browse files
authored
Merge pull request #2813 from port-labs/feat-awsv3-examples
AWS v3 Kind Examples
2 parents 9b56d39 + 6e6da67 commit 9d4be9a

19 files changed

+982
-1
lines changed

docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws-v3/Overview.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,8 @@ resources:
139139

140140
</details>
141141

142-
<MetricsAndSyncStatus/>
142+
<MetricsAndSyncStatus/>
143+
144+
## Advanced
145+
146+
Refer to the [Advanced configuration](./advanced.md) page for advanced use cases and examples.
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
sidebar_position: 5
3+
---
4+
5+
# Advanced
6+
7+
The AWS v3 integration supports additional configuration options to access optional properties from AWS resources.
8+
9+
## Optional actions configuration
10+
11+
Some AWS resource properties require additional API calls to retrieve. You can use the `includeActions` parameter to access these optional properties.
12+
13+
### Configuration
14+
15+
You can add `includeActions` to your resource configuration under the `selector` section:
16+
17+
```yaml showLineNumbers
18+
resources:
19+
- kind: AWS::EC2::Instance
20+
selector:
21+
query: 'true'
22+
includeActions:
23+
# Optional: Include up to 3 additional actions for more properties
24+
- GetInstanceStatusAction
25+
port:
26+
entity:
27+
mappings:
28+
# ... your mappings
29+
```
30+
31+
:::caution Action limit
32+
You can include a **maximum of 3 optional actions per resource kind** (excluding default actions). To use more than 3 actions, you can configure multiple resource kinds in your integration.
33+
:::
34+
35+
### Finding available actions
36+
37+
Each AWS resource has its own set of available actions. To find which actions are available for a specific resource, you can:
38+
39+
1. Check the resource's properties table in the [Examples](./examples.md) page
40+
2. Look at the "Action Required" column to see which properties need optional actions
41+
3. Use the action names shown in that column in your `includeActions` list
42+
43+
## Property availability
44+
45+
AWS resource properties fall into two categories:
46+
47+
- **Default properties**: Always available, no additional configuration needed
48+
- **Optional properties**: Require specific actions via `includeActions`
49+
50+
Each resource example includes a properties reference table with an "Action Required" column showing which properties need optional actions.
51+
52+
## Configuration examples
53+
54+
### Multiple actions example
55+
56+
```yaml showLineNumbers
57+
resources:
58+
- kind: AWS::S3::Bucket
59+
selector:
60+
query: 'true'
61+
includeActions:
62+
- GetBucketEncryptionAction
63+
- GetBucketPublicAccessBlockAction
64+
port:
65+
entity:
66+
mappings:
67+
identifier: .Properties.Arn
68+
title: .Properties.BucketName
69+
blueprint: '"s3Bucket"'
70+
properties:
71+
# Default properties (always available)
72+
arn: .Properties.Arn
73+
region: .Properties.LocationConstraint
74+
creationDate: .Properties.CreationDate
75+
tags: .Properties.Tags
76+
# Optional properties (require includeActions)
77+
bucketEncryption: .Properties.BucketEncryption
78+
publicAccessBlock: .Properties.PublicAccessBlockConfiguration
79+
relations:
80+
account: .__ExtraContext.AccountId
81+
```
82+
83+
84+
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
import AccountInfoBlueprint from './examples/account_info/_account_info_blueprint.mdx'
6+
import AccountInfoConfig from './examples/account_info/_account_info_port_app_config.mdx'
7+
import S3BucketBlueprint from './examples/s3/buckets/_s3_bucket_blueprint.mdx'
8+
import S3PortAppConfig from './examples/s3/buckets/_s3_bucket_port_app_config.mdx'
9+
import S3BucketProperties from './examples/s3/buckets/_s3_bucket_properties.mdx'
10+
import EcsClusterBlueprint from './examples/ecs/clusters/_ecs_cluster_blueprint.mdx'
11+
import EcsClusterConfig from './examples/ecs/clusters/_ecs_cluster_port_app_config.mdx'
12+
import EcsClusterProperties from './examples/ecs/clusters/_ecs_cluster_properties.mdx'
13+
import Ec2InstanceBlueprint from './examples/ec2/instances/_ec2_instance_blueprint.mdx'
14+
import Ec2InstanceConfig from './examples/ec2/instances/_ec2_instance_port_app_config.mdx'
15+
import Ec2InstanceProperties from './examples/ec2/instances/_ec2_instance_properties.mdx'
16+
import OrganizationsAccountBlueprint from './examples/organizations/accounts/_organizations_accounts_blueprint.mdx'
17+
import OrganizationsAccountConfig from './examples/organizations/accounts/_organizations_accounts_port_app_config.mdx'
18+
import OrganizationsAccountProperties from './examples/organizations/accounts/_organizations_accounts_properties.mdx'
19+
20+
# Examples
21+
22+
This page contains practical examples for mapping AWS resources to Port using AWS Hosted by Port.
23+
24+
These examples demonstrate how to create blueprints and configure mappings to ingest your AWS infrastructure into your Port software catalog.
25+
26+
## AWS Account
27+
28+
### AccountInfo
29+
30+
The following example demonstrates how to ingest your AWS Account information to Port.
31+
32+
You can use the following Port blueprint definitions and integration configuration:
33+
34+
<AccountInfoBlueprint/>
35+
36+
<AccountInfoConfig/>
37+
38+
## AWS Organizations
39+
40+
### Organizations Accounts
41+
42+
The following example demonstrates how to ingest your AWS Organizations Accounts to Port.
43+
44+
You can use the following Port blueprint definitions and integration configuration:
45+
46+
<OrganizationsAccountBlueprint/>
47+
48+
<OrganizationsAccountConfig/>
49+
50+
You can reference any of the following Organizations Account properties in your mapping configuration:
51+
52+
<OrganizationsAccountProperties/>
53+
54+
For more details about Organizations Account properties, refer to the [AWS Organizations API documentation](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DescribeAccount.html).
55+
56+
## Amazon S3
57+
58+
### S3 buckets
59+
60+
The following example demonstrates how to ingest your AWS S3 buckets to Port.
61+
62+
You can use the following Port blueprint definitions and integration configuration:
63+
64+
<S3BucketBlueprint/>
65+
66+
<S3PortAppConfig/>
67+
68+
You can reference any of the following S3 bucket properties in your mapping configuration:
69+
70+
<S3BucketProperties/>
71+
72+
For more details about S3 bucket properties, refer to the [AWS S3 API documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html).
73+
74+
## Amazon ECS
75+
76+
### ECS clusters
77+
78+
The following example demonstrates how to ingest your AWS ECS clusters to Port.
79+
80+
You can use the following Port blueprint definitions and integration configuration:
81+
82+
<EcsClusterBlueprint/>
83+
84+
<EcsClusterConfig/>
85+
86+
You can reference any of the following ECS cluster properties in your mapping configuration:
87+
88+
<EcsClusterProperties/>
89+
90+
For more details about ECS cluster properties, refer to the [AWS ECS API documentation](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html).
91+
92+
## Amazon EC2
93+
94+
### EC2 instances
95+
96+
The following example demonstrates how to ingest your AWS EC2 instances to Port.
97+
98+
You can use the following Port blueprint definitions and integration configuration:
99+
100+
<Ec2InstanceBlueprint/>
101+
102+
<Ec2InstanceConfig/>
103+
104+
You can reference any of the following EC2 instance properties in your mapping configuration:
105+
106+
<Ec2InstanceProperties/>
107+
108+
For more details about EC2 instance properties, refer to the [AWS EC2 API documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
109+
110+
:::info More resource types coming soon
111+
We're actively working on adding support for additional AWS resource types to provide comprehensive coverage of your AWS infrastructure.
112+
:::

0 commit comments

Comments
 (0)