Skip to content

Conversation

@candiduslynx
Copy link
Contributor

FIxes #7245

@cq-bot cq-bot added the azure label Jan 29, 2023
@candiduslynx candiduslynx changed the title Change azure_compute_skus PK to (name, _sku_hash) fix(azure)!: Change azure_compute_skus PK to (name, _sku_hash) Jan 29, 2023
@candiduslynx candiduslynx added the automerge Automatically merge once required checks pass label Jan 29, 2023
@github-actions
Copy link

This PR has the following changes to source plugin(s) tables:

  • ⚠️ BREAKING CHANGE: Table azure_compute_skus: column added with name _sku_hash (PK) and type String
  • Table azure_compute_skus: primary key constraint removed from column family
  • Table azure_compute_skus: primary key constraint removed from column kind

@candiduslynx candiduslynx changed the title fix(azure)!: Change azure_compute_skus PK to (name, _sku_hash) fix(azure)!: Change azure_compute_skus PK to (subscription_id, name, _sku_hash) Jan 29, 2023
@candiduslynx candiduslynx force-pushed the fix/azure/compute-skus-pk branch from 7aa14a7 to 919d879 Compare January 29, 2023 18:47
Copy link
Member

@erezrokah erezrokah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at an example SKU from az vm list-skus:

{
    "apiVersions": null,
    "capabilities": [
      {
        "name": "MaxResourceVolumeMB",
        "value": "180224"
      },
      {
        "name": "OSVhdSizeMB",
        "value": "1047552"
      },
      {
        "name": "vCPUs",
        "value": "8"
      },
      {
        "name": "MemoryPreservingMaintenanceSupported",
        "value": "False"
      },
      {
        "name": "HyperVGenerations",
        "value": "V1,V2"
      },
      {
        "name": "MemoryGB",
        "value": "28"
      },
      {
        "name": "MaxDataDiskCount",
        "value": "16"
      },
      {
        "name": "CpuArchitectureType",
        "value": "x64"
      },
      {
        "name": "LowPriorityCapable",
        "value": "True"
      },
      {
        "name": "PremiumIO",
        "value": "True"
      },
      {
        "name": "VMDeploymentTypes",
        "value": "IaaS"
      },
      {
        "name": "vCPUsAvailable",
        "value": "8"
      },
      {
        "name": "GPUs",
        "value": "1"
      },
      {
        "name": "vCPUsPerCore",
        "value": "2"
      },
      {
        "name": "EphemeralOSDiskSupported",
        "value": "True"
      },
      {
        "name": "EncryptionAtHostSupported",
        "value": "True"
      },
      {
        "name": "CapacityReservationSupported",
        "value": "False"
      },
      {
        "name": "AcceleratedNetworkingEnabled",
        "value": "True"
      },
      {
        "name": "RdmaEnabled",
        "value": "False"
      },
      {
        "name": "MaxNetworkInterfaces",
        "value": "4"
      },
      {
        "name": "UltraSSDAvailable",
        "value": "False"
      }
    ],
    "capacity": null,
    "costs": null,
    "family": "standardNVSv4Family",
    "kind": null,
    "locationInfo": [
      {
        "location": "westus",
        "zoneDetails": [],
        "zones": []
      }
    ],
    "locations": [
      "westus"
    ],
    "name": "Standard_NV8as_v4",
    "resourceType": "virtualMachines",
    "restrictions": [],
    "size": "NV8as_v4",
    "tier": "Standard"
  }

Maybe hashing on name, resourceType, kind, family, size, tier should be enough? Looks like locations and capabilities can change in the future.

⬆️ Is non blocking as I don't think we have enough knowledge of what makes this resource unique (other than contacting Azure to verify)

@kodiakhq kodiakhq bot merged commit e8e049c into main Jan 30, 2023
@kodiakhq kodiakhq bot deleted the fix/azure/compute-skus-pk branch January 30, 2023 09:59
kodiakhq bot pushed a commit that referenced this pull request Jan 31, 2023
🤖 I have created a release *beep* *boop*
---


## [4.0.0](plugins-source-azure-v3.5.0...plugins-source-azure-v4.0.0) (2023-01-31)


### ⚠ BREAKING CHANGES

* **azure:** Drop `subscription_id` from `azure_reservations_reservation` ([#7345](#7345))
* **azure:** Drop `subscription_id` from `azure_support_services` ([#7351](#7351))
* **azure:** Drop `subscription_id` from `azure_policy_data_policy_manifests` ([#7344](#7344))
* **azure:** Drop `subscription_id` from `azure_eventgrid_topic_types` ([#7343](#7343))
* **azure:** Drop `subscription_id` from `azure_cdn_edge_nodes` ([#7342](#7342))
* **azure:** Drop `subscription_id` from `azure_authorization_provider_operations_metadata` ([#7341](#7341))
* **azure:** Drop `subscription_id` column from `azure_advisor_recommendation_metadata` ([#7337](#7337))
* **azure:** Change `azure_compute_skus` PK to `(subscription_id, name, _sku_hash)` ([#7305](#7305))
* **azure:** Add `subscription_id` to `azure_security_secure_score_control_definitions` PK ([#7285](#7285))
* **azure:** Add `subscription_id` to `azure_security_topology` PK ([#7280](#7280))
* **azure:** Add `subscription_id` to `azure_policy_set_definitions` PK ([#7283](#7283))
* **azure:** Add `subscription_id` to `azure_security_assessments_metadata` PK ([#7281](#7281))
* **azure:** Change `azure_compute_skus` PK from `id` to `(subscription_id, family, kind, name)` ([#7267](#7267))
* **azure:** Add `subscription_id` to `azure_network_express_route_service_providers` PK ([#7279](#7279))
* **azure:** Add `subscription_id` to `azure_network_bgp_service_communities` PK ([#7277](#7277))
* **azure:** Add `subscription_id` to `azure_policy_definitions` PK ([#7264](#7264))
* **azure:** Add `subscription_id` to `azure_network_azure_firewall_fqdn_tags` PK ([#7278](#7278))
* **azure:** Add `subscription_id` to `azure_frontdoor_managed_rule_sets` PK ([#7276](#7276))
* **azure:** Add `subscription_id` to `azure_authorization_role_assignments` ([#7270](#7270))
* **azure:** Add `subscription_id` to `azure_cdn_managed_rule_sets` PK ([#7272](#7272))

### Features

* Azure policy implementaion for v2  ([#6557](#6557)) ([0768fe6](0768fe6))
* Azure resources for policy implementation v2 ([#6677](#6677)) ([581eb7d](581eb7d))


### Bug Fixes

* **azure:** Add `subscription_id` to `azure_authorization_role_assignments` ([#7270](#7270)) ([2d7492d](2d7492d)), closes [#7242](#7242)
* **azure:** Add `subscription_id` to `azure_cdn_managed_rule_sets` PK ([#7272](#7272)) ([cc9b5af](cc9b5af)), closes [#7244](#7244)
* **azure:** Add `subscription_id` to `azure_frontdoor_managed_rule_sets` PK ([#7276](#7276)) ([830d669](830d669)), closes [#7247](#7247)
* **azure:** Add `subscription_id` to `azure_network_azure_firewall_fqdn_tags` PK ([#7278](#7278)) ([2b31fa4](2b31fa4)), closes [#7248](#7248)
* **azure:** Add `subscription_id` to `azure_network_bgp_service_communities` PK ([#7277](#7277)) ([50088a0](50088a0)), closes [#7249](#7249)
* **azure:** Add `subscription_id` to `azure_network_express_route_service_providers` PK ([#7279](#7279)) ([ea5b468](ea5b468)), closes [#7250](#7250)
* **azure:** Add `subscription_id` to `azure_policy_definitions` PK ([#7264](#7264)) ([809ebbd](809ebbd)), closes [#7252](#7252)
* **azure:** Add `subscription_id` to `azure_policy_set_definitions` PK ([#7283](#7283)) ([96ba863](96ba863)), closes [#7253](#7253)
* **azure:** Add `subscription_id` to `azure_security_assessments_metadata` PK ([#7281](#7281)) ([8b0f3ed](8b0f3ed)), closes [#7255](#7255)
* **azure:** Add `subscription_id` to `azure_security_secure_score_control_definitions` PK ([#7285](#7285)) ([1344bd3](1344bd3)), closes [#7256](#7256)
* **azure:** Add `subscription_id` to `azure_security_topology` PK ([#7280](#7280)) ([3e06103](3e06103)), closes [#7257](#7257)
* **azure:** Change `azure_compute_skus` PK from `id` to `(subscription_id, family, kind, name)` ([#7267](#7267)) ([f0fd5fb](f0fd5fb)), closes [#7245](#7245)
* **azure:** Change `azure_compute_skus` PK to `(subscription_id, name, _sku_hash)` ([#7305](#7305)) ([e8e049c](e8e049c)), closes [#7245](#7245)
* **azure:** Drop `subscription_id` column from `azure_advisor_recommendation_metadata` ([#7337](#7337)) ([e6d8f14](e6d8f14))
* **azure:** Drop `subscription_id` from `azure_authorization_provider_operations_metadata` ([#7341](#7341)) ([4d84e8e](4d84e8e))
* **azure:** Drop `subscription_id` from `azure_cdn_edge_nodes` ([#7342](#7342)) ([0616f9b](0616f9b))
* **azure:** Drop `subscription_id` from `azure_eventgrid_topic_types` ([#7343](#7343)) ([c603801](c603801))
* **azure:** Drop `subscription_id` from `azure_policy_data_policy_manifests` ([#7344](#7344)) ([31a6040](31a6040))
* **azure:** Drop `subscription_id` from `azure_reservations_reservation` ([#7345](#7345)) ([daf7249](daf7249))
* **azure:** Drop `subscription_id` from `azure_support_services` ([#7351](#7351)) ([2a91922](2a91922))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.29.0 ([#7121](#7121)) ([b7441c9](b7441c9))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.30.0 ([#7222](#7222)) ([73ca21c](73ca21c))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.31.0 ([#7228](#7228)) ([36e8549](36e8549))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.32.0 ([#7334](#7334)) ([b684122](b684122))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Automatically merge once required checks pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

azure_compute_skus primary key violations

3 participants