Skip to content

Commit 5c51912

Browse files
committed
Merge branch 'master' into jul-19_typos [netlify-ignore]
2 parents 3df938b + a3b8970 commit 5c51912

File tree

21 files changed

+334
-203
lines changed

21 files changed

+334
-203
lines changed

src/_data/catalog/overrides-list.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
items:
22
- hubspot
33
- iterable
4+
- google-ads-gtag
5+
- klaviyo

src/_data/catalog/overrides.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,26 @@ items:
3737
accepts cloud-mode data from all Segment source types. It does not offer device-mode connections.
3838
cmode_type: mixed
3939
case: '5'
40+
- slug: google-ads-gtag
41+
previous_names:
42+
- Google AdWords New
43+
- slug: klaviyo
44+
display_name: Klaviyo
45+
components:
46+
- code: 'https://github.com/segment-integrations/analytics.js-integration-klaviyo'
47+
type: browser
48+
- code: 'https://github.com/segmentio/integrations/tree/master/integrations/klaviyo'
49+
type: server
50+
connection_modes:
51+
device:
52+
web: true
53+
mobile: false
54+
server: false
55+
cloud:
56+
web: false
57+
mobile: true
58+
server: true
59+
summary: >-
60+
accepts data in cloud-mode from web and mobile sources, and can accept data in device-mode from Analytics.js sources.
61+
cmode_type: mixed
62+
case: '10'

src/_includes/content/destination-footer.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
{% if currentIntegration.platforms.server == true %}
77
{% unless page.hide-personas-partial == true %}
8+
{% assign overridesList = site.data.catalog.overrides-list.items %}
9+
810

911
## Personas
1012

@@ -69,10 +71,14 @@ Segment lets you change these destination settings from the Segment app without
6971
## Adding {{ currentIntegration.display_name }} to the integrations object
7072

7173
To add {{ currentIntegration.display_name }} to the `integrations` JSON object (for example, [to filter data from a specific source](/docs/guides/filtering-data/#filtering-with-the-integrations-object)), use one of the following valid names for this integration:
74+
{% if page.name-override %}
75+
{% assign currentIntegration = site.data.catalog.overrides.items | where: "slug", currentSlug | first %}
76+
{% endif %}
7277

7378
{% for valid_name in currentIntegration.previous_names %}
7479
- {{ valid_name }}
7580
{% endfor %}
81+
7682
{% endunless %}
7783
{% endif %}
7884

src/_sass/components/_markdown.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293

294294
}
295295

296-
a[target="_blank"]:after:not(.reference-button){
296+
a[target="_blank"]:not(.reference-button):after{
297297
content: url("/docs/images/external-link-alt-solid.svg");
298298
margin-left: 4px;
299299
}

src/connections/destinations/add-destination.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ For the following destinations, a single source can connect to up to 10 instance
187187
- [ActiveCampaign](/docs/connections/destinations/catalog/activecampaign/)
188188
- [Akita](/docs/connections/destinations/catalog/akita/)
189189
- [All Aboard](/docs/connections/destinations/catalog/all-aboard/)
190-
- [Amazon EventBridge](/docs/connections/destinations/catalog/amazon-eventbridge/)
191190
- [Amazon Kinesis](/docs/connections/destinations/catalog/amazon-kinesis/)
192191
- [Amazon Kinesis Firehose](/docs/connections/destinations/catalog/amazon-kinesis-firehose/)
193192
- [Amazon Lambda](/docs/connections/destinations/catalog/amazon-lambda/)

src/connections/destinations/catalog/amazon-kinesis-firehose/index.md

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -178,27 +178,33 @@ Replace that snippet with the following, and replace the contents of the array w
178178

179179
#### Use a single secret ID
180180

181-
If you have so many sources using Kinesis that it is impractical to attach all of their IDs to your IAM role, you can set a single ID to use instead. **This approach requires that you securely store a secret value, so we recommend that you use the method above if at all possible. **
181+
If you have many sources using Kinesis that it's impractical to attach all of their IDs to your IAM role, you can set a single ID to use instead. *This approach requires that you securely store a secret value, so we recommend that you use the method above if at all possible.*
182182

183-
To set this value, go to the Kinesis Firehose destination settings from each of your Segment sources and set the **Secret ID'** to a value of your choosing. This value is a secret and should be treated as sensitively as a password. Once all of your sources have been updated to use this value, find the IAM role you created for this destination in the AWS Console in Services > IAM > Roles. Click on the role, and navigate to the **Trust Relationships** tab. Click **Edit trust relationship**. You should see a snippet that looks something that looks like this:
183+
To set this value for a single Secret ID:
184+
1. Go to the Kinesis Firehose destination settings from each of your Segment sources.
185+
2. Click **Secret ID** and enter your Workspace ID.
186+
* **NOTE:** For security purposes, Segment recommends you to use your Segment Workspace ID as your Secret ID. If you’re using a Secret ID different from your Workspace ID, you're susceptible to attacks. You can find your Workspace ID by going to: **Settings > Workspace Settings > ID** from the Segment dashboard.
187+
3. Once all of your sources are updated to use this value, find the IAM role you created for this destination in the AWS Console in **Services > IAM > Roles**.
188+
4. Select the role and navigate to the **Trust Relationships** tab.
189+
5. Click **Edit trust relationship**. You should see a snippet that looks something that looks like this:
184190

185-
```json
186-
{
187-
"Version": "2012-10-17",
188-
"Statement": [
191+
```json
189192
{
190-
"Effect": "Allow",
191-
"Principal": {
192-
"AWS": "arn:aws:iam::595280932656:root"
193-
},
194-
"Action": "sts:AssumeRole",
195-
"Condition": {
196-
"StringEquals": {
197-
"sts:ExternalId": "YOUR_SEGMENT_SOURCE_ID"
193+
"Version": "2012-10-17",
194+
"Statement": [
195+
{
196+
"Effect": "Allow",
197+
"Principal": {
198+
"AWS": "arn:aws:iam::595280932656:root"
199+
},
200+
"Action": "sts:AssumeRole",
201+
"Condition": {
202+
"StringEquals": {
203+
"sts:ExternalId": "YOUR_SEGMENT_SOURCE_ID"
204+
}
205+
}
198206
}
199-
}
207+
]
200208
}
201-
]
202-
}
203-
```
204-
Replace your source ID (found at "YOUR_SEGMENT_SOURCE_ID") with your secret ID.
209+
```
210+
6. Replace the value of `sts:ExternalId` ( "YOUR_SEGMENT_SOURCE_ID") with the Secret ID / Workspace ID value from the previous step.

src/connections/destinations/catalog/amazon-kinesis/index.md

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ Replace that snippet with the following, and replace the contents of the array w
182182

183183
### Update IAM to Support PutRecords
184184

185-
The Kinesis destination defaults to use PutRecords. A previous version of the IAM policy document only granted `PutRecord` access, which can slow down Kinesis write times and degrade data deliverability. Substitute the updated policy document above to grant Kinesis `PutRecords` (plural) and allow batching, like this:
185+
The Kinesis destination defaults to use PutRecords. A previous version of the IAM policy document only granted `PutRecord` access, which can slow down Kinesis write times and degrade data deliverability. Substitute the updated policy document above to grant Kinesis `PutRecords` (plural) and allow batching, like this:
186186
```json
187187
{
188188
"Version": "2012-10-17",
@@ -205,25 +205,31 @@ The Kinesis destination defaults to use PutRecords. A previous version of the IA
205205
After you update the IAM policy, Segment systems default to use PutRecords for more efficient data transmission. This is a zero-downtime change and does not impact your data other than increasing the deliverability success rate.
206206

207207
### Use a single secret ID
208-
If you have so many sources using Kinesis that it is impractical to attach all of their IDs to your IAM role, you can instead opt to set a single ID to use instead. This approach should be avoided in favor of the above approach if possible since it will result in you having to keep track of a secret value. To set this value, go to the Kinesis destination settings from each of your Segment sources and set the 'Secret ID' to a value of your choosing. This value is a secret and should be treated as sensitively as a password. Once all of your sources have been updated to use this value, find the IAM role you created for this destination in the AWS Console in Services > IAM > Roles. Click on the role, and navigate to the **Trust Relationships** tab. Click **Edit trust relationship**. You should see a snippet that looks something that looks like this:
209-
210-
```json
211-
{
212-
"Version": "2012-10-17",
213-
"Statement": [
208+
If you have many sources using Kinesis that it's impractical to attach all of their IDs to your IAM role, you can instead opt to set a single ID to use. To set this value:
209+
1. Go to **Connections > Destinations > Amazon Kinesis** for each of your Segment sources.
210+
2. Click **Secret ID** and enter your Workspace ID.
211+
* **NOTE:** For security purposes, Segment recommends you to use your Workspace ID as your Secret ID. If you’re currently using a Secret ID different from your Workspace ID, you’ll be susceptible to attacks. You can find your Workspace ID by going to: **Settings > Workspace Settings > ID**.
212+
3. Once all of your sources have been updated to use this value, find the IAM role you created for this destination in the AWS Console in **Services > IAM > Roles**.
213+
4. Click on the role and navigate to the **Trust Relationships** tab.
214+
5. Click **Edit trust relationship**. You should see a snippet that looks something that looks like this:
215+
216+
```json
214217
{
215-
"Effect": "Allow",
216-
"Principal": {
217-
"AWS": "arn:aws:iam::595280932656:root"
218-
},
219-
"Action": "sts:AssumeRole",
220-
"Condition": {
221-
"StringEquals": {
222-
"sts:ExternalId": "YOUR_SEGMENT_SOURCE_ID"
218+
"Version": "2012-10-17",
219+
"Statement": [
220+
{
221+
"Effect": "Allow",
222+
"Principal": {
223+
"AWS": "arn:aws:iam::595280932656:root"
224+
},
225+
"Action": "sts:AssumeRole",
226+
"Condition": {
227+
"StringEquals": {
228+
"sts:ExternalId": "YOUR_SEGMENT_SOURCE_ID"
229+
}
230+
}
223231
}
224-
}
232+
]
225233
}
226-
]
227-
}
228-
```
229-
Replace your source ID (found at "YOUR_SEGMENT_SOURCE_ID") with your secret ID.
234+
```
235+
6. Replace the value of `sts:ExternalId` (`"YOUR_SEGMENT_SOURCE_ID"`) with your Secret ID.

src/connections/destinations/catalog/amazon-lambda/index.md

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -57,43 +57,47 @@ There are two options for setting up the IAM policy and role:
5757

5858
### Use CloudFormation
5959

60-
Using CloudFormation minimizes the set up steps needed, and is Segment's recommended way to create your Lambda's policy and role.
60+
Using CloudFormation minimizes the setup steps needed, and is Segment's recommended way to create your Lambda's policy and role. To use CloudFormation:
61+
1. Create the CloudFormation Template.
62+
1. Copy or download the [SegmentLambdaDestinationCFTemplate](https://github.com/segmentio/segment-lambda-recipes/blob/ead6c0f77deb38cea7ed486a7b98b47207796b5c/SegmentLambdaDestinationCFTemplate#L1){:target="_blank"} from the [segment-lambda-recipes](https://github.com/segmentio/segment-lambda-recipes){:target="_blank"} GitHub repo.
63+
2. Save the file with a name you like, but make sure it doesn't have a file extension.
64+
2. Create the CloudFormation stack.
65+
1. Within the AWS Console, navigate to **CloudFormation > Stacks**.
6166

62-
**Create the CloudFormation Template**
67+
![](images/CloudFormationStackNav.png)
6368

64-
Copy or download the [SegmentLambdaDestinationCFTemplate](https://github.com/segmentio/segment-lambda-recipes/blob/ead6c0f77deb38cea7ed486a7b98b47207796b5c/SegmentLambdaDestinationCFTemplate#L1) from our [segment-lambda-recipes](https://github.com/segmentio/segment-lambda-recipes) GitHub repo. Save the file with whatever name you like, but make sure it doesn't have a file extension.
69+
2. Click **Create Stack**.
6570

66-
**Create the CloudFormation stack**
71+
![](images/CloudFormationCreateStack.png)
6772

68-
Within the AWS Console, navigate to CloudFormation. Navigate to the Stacks page.
73+
3. On the **Select Template** page, select **Upload a template to Amazon S3**. Using **Choose File**, select the SegmentLambdaDestinationCFTemplate you downloaded in the previous step.
6974

70-
![](images/CloudFormationStackNav.png)
75+
4. Click **Next**.
7176

72-
Click the "Create Stack" button.
77+
![](images/CloudFormationUploadTemplate.png)
7378

74-
![](images/CloudFormationCreateStack.png)
79+
5. Give your stack a name.
80+
6. For the **ExternalId** parameter, enter the "External ID" setting in your Segment Lambda destination settings. This should be your **Workspace ID**.
81+
* **NOTE:** For security purposes, Segment recommends you to use your Workspace ID as your External ID. If you’re currently using an External ID different from your Workspace ID, you’ll be susceptible to attacks. You can find your Workspace ID by going to: **Settings > Workspace Settings > ID**.
82+
7. The **LambdaARN** parameter corresponds to the **Lambda** setting in your Segment Lambda destination settings.
7583

76-
On the "Select Template" page, select "Upload a template to Amazon S3", then using "Chose File", select the SegmentLambdaDestinationCFTemplate you created/downloaded in the previous step.
84+
![](images/CloudFormationStackDetails.png)
7785

78-
Click "Next".
86+
8. You can leave the next page as is, no changes needed.
87+
9. On the last page, review your template details and click **Create**.
88+
10. You will now see your new Stack listed in the Stacks page.
7989

80-
![](images/CloudFormationUploadTemplate.png)
90+
![](images/CloudFormationCreateInProgress.png)
8191

82-
Give your stack a meaningful name. The "ExternalId" parameter corresponds to the "External ID" setting in your Segment Lambda destination settings. The "LambdaARN" parameter corresponds to the "Lambda" setting in your Segment Lambda destination settings.
92+
11. Once the status is **CREATE_COMPLETE**, click on the name of your Stack.
93+
12. On the Stack Detail page under the **Resources** section, you will see a policy and role listed.
8394

84-
![](images/CloudFormationStackDetails.png)
95+
![](images/CloudFormationLambdaRole.png)
8596

86-
You can leave the next page as is, no changes needed. On the last page, review your template details and click "Create".
97+
13. Click the **Physical ID** of the role. You will be redirected to the summary page for the role within the IAM console.
98+
14. Copy the **Role ARN** and copy it into the **Role Address** setting in your Segment Lambda destination settings.
8799

88-
You should now see your new Stack listed in the Stacks page.
89-
90-
![](images/CloudFormationCreateInProgress.png)
91-
92-
Once the status is "CREATE_COMPLETE", click on the name of your Stack. On the Stack Detail page, under the "Resources" section, you should see a policy and role listed.
93-
94-
![](images/CloudFormationLambdaRole.png)
95-
96-
Click on the "Physical ID" of the role. You will be redirected to the summary page for the role within the IAM console. Copy the "Role ARN" and copy it into the "Role Address" setting in your Segment Lambda destination settings. Using the examples provided, your Segment Lambda destination settings would now look something like this:
100+
Using the examples provided, your Segment Lambda destination settings will look something like this:
97101

98102
![](images/SegmentLambdaSettingsPostCF.png)
99103

0 commit comments

Comments
 (0)