3232log = logging .getLogger ("fix.plugins.azure" )
3333
3434
35+ class CosmosDBLocationSetter :
36+ def __init__ (self ) -> None :
37+ self .location : Optional [str ] = None
38+
39+ def pre_process (self , graph_builder : GraphBuilder , source : Json ) -> None :
40+ if isinstance (self , MicrosoftResource ):
41+ if location := self .extract_part ("locations" ):
42+ self .location = location
43+
44+
3545@define (eq = False , slots = False )
3646class AzureManagedCassandraReaperStatus :
3747 kind : ClassVar [str ] = "azure_managed_cassandra_reaper_status"
@@ -1550,7 +1560,7 @@ class AzureRestorableLocationResource:
15501560
15511561
15521562@define (eq = False , slots = False )
1553- class AzureCosmosDBRestorableAccount (MicrosoftResource ):
1563+ class AzureCosmosDBRestorableAccount (CosmosDBLocationSetter , MicrosoftResource ):
15541564 kind : ClassVar [str ] = "azure_cosmos_db_restorable_account"
15551565 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Account"
15561566 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2032,7 +2042,7 @@ def collect_usages(cls, account_id: str, raw: List[Json], builder: GraphBuilder)
20322042
20332043
20342044@define (eq = False , slots = False )
2035- class AzureCosmosDBLocation (MicrosoftResource ):
2045+ class AzureCosmosDBLocation (CosmosDBLocationSetter , MicrosoftResource ):
20362046 kind : ClassVar [str ] = "azure_cosmos_db_location"
20372047 _kind_display : ClassVar [str ] = "Azure Cosmos DB Location"
20382048 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2163,7 +2173,7 @@ class AzureRestorableDatabase:
21632173
21642174
21652175@define (eq = False , slots = False )
2166- class AzureCosmosDBRestorableGremlinDatabase (MicrosoftResource ):
2176+ class AzureCosmosDBRestorableGremlinDatabase (CosmosDBLocationSetter , MicrosoftResource ):
21672177 kind : ClassVar [str ] = "azure_cosmos_db_restorable_gremlin_database"
21682178 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Gremlin Database"
21692179 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2211,7 +2221,7 @@ def collect_restorable_graphs() -> None:
22112221
22122222
22132223@define (eq = False , slots = False )
2214- class AzureCosmosDBRestorableGremlinGraph (MicrosoftResource ):
2224+ class AzureCosmosDBRestorableGremlinGraph (CosmosDBLocationSetter , MicrosoftResource ):
22152225 kind : ClassVar [str ] = "azure_cosmos_db_restorable_gremlin_graph"
22162226 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Gremlin Graph"
22172227 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2229,7 +2239,7 @@ class AzureCosmosDBRestorableGremlinGraph(MicrosoftResource):
22292239
22302240
22312241@define (eq = False , slots = False )
2232- class AzureCosmosDBRestorableMongoDBCollection (MicrosoftResource ):
2242+ class AzureCosmosDBRestorableMongoDBCollection (CosmosDBLocationSetter , MicrosoftResource ):
22332243 kind : ClassVar [str ] = "azure_cosmos_db_restorable_mongo_db_collection"
22342244 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Mongo DB Collection"
22352245 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2247,7 +2257,7 @@ class AzureCosmosDBRestorableMongoDBCollection(MicrosoftResource):
22472257
22482258
22492259@define (eq = False , slots = False )
2250- class AzureCosmosDBRestorableMongoDBDatabase (MicrosoftResource ):
2260+ class AzureCosmosDBRestorableMongoDBDatabase (CosmosDBLocationSetter , MicrosoftResource ):
22512261 kind : ClassVar [str ] = "azure_cosmos_db_restorable_mongo_db_database"
22522262 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Mongo DB Database"
22532263 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2295,7 +2305,7 @@ def collect_restorable_collections() -> None:
22952305
22962306
22972307@define (eq = False , slots = False )
2298- class AzureCosmosDBRestorableSqlContainer (MicrosoftResource ):
2308+ class AzureCosmosDBRestorableSqlContainer (CosmosDBLocationSetter , MicrosoftResource ):
22992309 kind : ClassVar [str ] = "azure_cosmos_db_restorable_sql_container"
23002310 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable SQL Container"
23012311 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2344,7 +2354,7 @@ class AzureExtendedPropertiesSqlDatabase(AzureSqlDatabaseResource):
23442354
23452355
23462356@define (eq = False , slots = False )
2347- class AzureCosmosDBRestorableSqlDatabase (MicrosoftResource ):
2357+ class AzureCosmosDBRestorableSqlDatabase (CosmosDBLocationSetter , MicrosoftResource ):
23482358 kind : ClassVar [str ] = "azure_cosmos_db_restorable_sql_database"
23492359 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable SQL Database"
23502360 _kind_service : ClassVar [Optional [str ]] = service_name
@@ -2406,7 +2416,7 @@ def collect_restorable_containers() -> None:
24062416
24072417
24082418@define (eq = False , slots = False )
2409- class AzureCosmosDBRestorableTable (MicrosoftResource ):
2419+ class AzureCosmosDBRestorableTable (CosmosDBLocationSetter , MicrosoftResource ):
24102420 kind : ClassVar [str ] = "azure_cosmos_db_restorable_table"
24112421 _kind_display : ClassVar [str ] = "Azure Cosmos DB Restorable Table"
24122422 _kind_service : ClassVar [Optional [str ]] = service_name
0 commit comments