-
Notifications
You must be signed in to change notification settings - Fork 592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding Los Angeles, ElastiCache CacheNodeType, Elasticsearch InstanceType, and fixing Neptune InstanceClass pricing information #1535
Conversation
results[region_map[product.get('attributes').get('location')]].add( | ||
usage_type | ||
product.get('attributes').get('usagetype').split(':')[1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
usage_type = product.get('attributes').get('usagetype').split(':')[1] | ||
results[region_map[product.get('attributes').get('location')]].add(usage_type) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -145,14 +115,13 @@ def get_mq_pricing(): | |||
'mq.m5.2xl': 'mq.m5.2xlarge', | |||
'mq.m5.4xl': 'mq.m5.4xlarge' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
results = {} | ||
for page in get_paginator('AmazonMQ'): | ||
for price_item in page.get('PriceList', []): | ||
products = json.loads(price_item) | ||
product = products.get('product', {}) | ||
if product: | ||
if product.get('productFamily') == 'Broker Instances': | ||
if product.get('productFamily') in ['Broker Instances']: | ||
if not results.get(region_map[product.get('attributes').get('location')]): | ||
results[region_map[product.get('attributes').get('location')]] = set() | ||
usage_type = product.get('attributes').get('usagetype').split(':')[1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Offer files for reference: (
jq 'del(.terms)'
helps for larger files)https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/index.json
AmazonEC2 (3GB+)
AmazonRedshift
AmazonDAX
AmazonMQ
AmazonRDS
AmazonNeptune
AmazonDocDB
AmazonElastiCache
AmazonES
unrelated to this change,
m6g
instance types launched this weekmoved
US West (Los Angeles)
fromregion_exceptions
toregion_map
forus-west-2
which adds
i3en.metal-2tb
EC2 instance type tosrc/cfnlint/data/ExtendedSpecs/us-west-2/05_pricing_property_values.json
and 37 lines tosrc/cfnlint/data/AdditionalSpecs/RdsProperties.json
switched
AmazonNeptune
from parsingusagetype
to usinginstanceType
which appendsarge
todb.r5.\d*xl
, which seems correct:Invalid DB Instance class: db.r5.xl (Service: AmazonNeptune; Status Code: 400; Error Code: InvalidParameterValue)
added
AmazonElastiCache
information for:AWS::ElastiCache::CacheCluster.CacheNodeType
AWS::ElastiCache::ReplicationGroup.CacheNodeType
added
AmazonES
information for:AWS::Elasticsearch::Domain.ElasticsearchClusterConfig.InstanceType
how to test:
future work:
more services:
nodetype
instanceclass
:AWSDatabaseMigrationSvc 'Replication Server' for
AWS::DMS::ReplicationInstance.ReplicationInstanceClass
(dms.
prefix missing frominstanceType
, could parseusagetype
)instancetype
:ElasticMapReduce, ManagedBlockchain, GameLift, AppStream, AmazonSageMaker, AmazonMSK, etc.cn-north-1
andcn-northwest-1
didn't seem to be picking up any pricing information until #1635