> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Amazon ElastiCache

AWS::ElastiCache::Cluster

The following example demonstrates how to ingest your AWS ElastiCache clusters to Port.

ElastiCache Cluster supported actions

The table below summarizes the available actions for ingesting Amazon ElastiCache Cluster resources in Port:

ActionDescriptionTypeRequired AWS Permission
DescribeCacheClustersActionDiscover all ElastiCache clusters and retrieve their configuration (nodes, engine, status).Defaultelasticache:DescribeCacheClusters
ListTagsForResourceActionRetrieve tags for each cluster.Optionalelasticache:ListTagsForResource
Optional Properties Note

Properties of optional actions will not appear in the response unless you explicitly include the action that provides them in your configuration.

You can use the following Port blueprint definitions and integration configuration:

ElastiCache Cluster blueprint (click to expand)
[
{
"identifier": "elasticacheCluster",
"title": "ElastiCache Cluster",
"icon": "AWS",
"schema": {
"properties": {
"arn": {
"type": "string",
"title": "ARN",
"description": "The Amazon Resource Name (ARN) of the cluster"
},
"cacheClusterId": {
"type": "string",
"title": "Cluster ID",
"description": "The unique identifier of the cache cluster"
},
"cacheClusterStatus": {
"type": "string",
"title": "Status",
"description": "The current status of the cluster",
"enum": ["available", "creating", "deleted", "deleting", "incompatible-network", "modifying", "rebooting cluster nodes", "restore-failed", "snapshotting"]
},
"cacheNodeType": {
"type": "string",
"title": "Node Type",
"description": "The compute and memory capacity of the nodes (e.g., cache.t4g.micro, cache.r6g.large)"
},
"engine": {
"type": "string",
"title": "Engine",
"description": "The cache engine (redis or memcached)"
},
"engineVersion": {
"type": "string",
"title": "Engine Version",
"description": "The version of the cache engine"
},
"numCacheNodes": {
"type": "number",
"title": "Number of Nodes",
"description": "The number of cache nodes in the cluster"
},
"preferredAvailabilityZone": {
"type": "string",
"title": "Availability Zone",
"description": "The preferred availability zone for the cluster"
},
"cacheClusterCreateTime": {
"type": "string",
"title": "Created At",
"description": "The date and time when the cluster was created",
"format": "date-time"
},
"preferredMaintenanceWindow": {
"type": "string",
"title": "Maintenance Window",
"description": "The weekly time range for maintenance"
},
"cacheParameterGroup": {
"type": "object",
"title": "Parameter Group",
"description": "The cache parameter group associated with the cluster"
},
"cacheSubnetGroupName": {
"type": "string",
"title": "Subnet Group",
"description": "The name of the cache subnet group"
},
"cacheNodes": {
"type": "array",
"title": "Cache Nodes",
"description": "The list of cache nodes in the cluster",
"items": {
"type": "object"
}
},
"autoMinorVersionUpgrade": {
"type": "boolean",
"title": "Auto Minor Version Upgrade",
"description": "Whether minor version upgrades are applied automatically"
},
"securityGroups": {
"type": "array",
"title": "Security Groups",
"description": "The VPC security groups associated with the cluster",
"items": {
"type": "object"
}
},
"replicationGroupId": {
"type": "string",
"title": "Replication Group ID",
"description": "The replication group this cluster belongs to"
},
"snapshotRetentionLimit": {
"type": "number",
"title": "Snapshot Retention Limit",
"description": "Number of days snapshots are retained (0 means backups are disabled)"
},
"snapshotWindow": {
"type": "string",
"title": "Snapshot Window",
"description": "The daily time range for automatic snapshots"
},
"authTokenEnabled": {
"type": "boolean",
"title": "Auth Token Enabled",
"description": "Whether Redis AUTH is enabled"
},
"transitEncryptionEnabled": {
"type": "boolean",
"title": "Transit Encryption",
"description": "Whether in-transit encryption is enabled"
},
"atRestEncryptionEnabled": {
"type": "boolean",
"title": "At-Rest Encryption",
"description": "Whether at-rest encryption is enabled"
},
"networkType": {
"type": "string",
"title": "Network Type",
"description": "The network type (ipv4, ipv6, or dual_stack)"
},
"ipDiscovery": {
"type": "string",
"title": "IP Discovery",
"description": "The IP discovery type"
},
"logDeliveryConfigurations": {
"type": "array",
"title": "Log Delivery Configurations",
"description": "The log delivery configurations",
"items": {
"type": "object"
}
},
"tags": {
"type": "array",
"title": "Tags",
"description": "Tags associated with the cluster",
"items": {
"type": "object",
"properties": {
"Key": {
"type": "string"
},
"Value": {
"type": "string"
}
}
}
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"account": {
"title": "Account",
"target": "awsAccount",
"required": false,
"many": false
}
}
}
]
ElastiCache Cluster mapping configuration (click to expand)
resources:
- kind: AWS::ElastiCache::Cluster
selector:
query: 'true'
port:
entity:
mappings:
identifier: .Properties.ARN
title: .Properties.CacheClusterId
blueprint: '"elasticacheCluster"'
properties:
arn: .Properties.ARN
cacheClusterId: .Properties.CacheClusterId
cacheClusterStatus: .Properties.CacheClusterStatus
cacheNodeType: .Properties.CacheNodeType
engine: .Properties.Engine
engineVersion: .Properties.EngineVersion
numCacheNodes: .Properties.NumCacheNodes
preferredAvailabilityZone: .Properties.PreferredAvailabilityZone
cacheClusterCreateTime: .Properties.CacheClusterCreateTime
preferredMaintenanceWindow: .Properties.PreferredMaintenanceWindow
cacheParameterGroup: .Properties.CacheParameterGroup
cacheSubnetGroupName: .Properties.CacheSubnetGroupName
cacheNodes: .Properties.CacheNodes
autoMinorVersionUpgrade: .Properties.AutoMinorVersionUpgrade
securityGroups: .Properties.SecurityGroups
replicationGroupId: .Properties.ReplicationGroupId
snapshotRetentionLimit: .Properties.SnapshotRetentionLimit
snapshotWindow: .Properties.SnapshotWindow
authTokenEnabled: .Properties.AuthTokenEnabled
transitEncryptionEnabled: .Properties.TransitEncryptionEnabled
atRestEncryptionEnabled: .Properties.AtRestEncryptionEnabled
networkType: .Properties.NetworkType
ipDiscovery: .Properties.IpDiscovery
logDeliveryConfigurations: .Properties.LogDeliveryConfigurations
tags: .Properties.TagList
relations:
account: .__ExtraContext.AccountId

For more details about ElastiCache cluster properties, refer to the AWS ElastiCache API documentation.