@@ -1231,6 +1231,16 @@ def get_disable_image_integrity(self) -> bool:
12311231
12321232 return disable_image_integrity
12331233
1234+ def get_kms_infrastructure_encryption (self ) -> str :
1235+ """Obtain the value of kms_infrastructure_encryption.
1236+
1237+ :return: str
1238+ """
1239+ # read the original value passed by the command
1240+ kms_infrastructure_encryption = self .raw_param .get ("kms_infrastructure_encryption" )
1241+
1242+ return kms_infrastructure_encryption
1243+
12341244 def get_cluster_snapshot_id (self ) -> Union [str , None ]:
12351245 """Obtain the values of cluster_snapshot_id.
12361246
@@ -3250,6 +3260,30 @@ def set_up_image_integrity(self, mc: ManagedCluster) -> ManagedCluster:
32503260
32513261 return mc
32523262
3263+ def set_up_kms_infrastructure_encryption (self , mc : ManagedCluster ) -> ManagedCluster :
3264+ """Set up security profile KubernetesResourceObjectEncryptionProfile for the ManagedCluster object.
3265+
3266+ :return: the ManagedCluster object
3267+ """
3268+ self ._ensure_mc (mc )
3269+
3270+ kms_infrastructure_encryption = self .context .get_kms_infrastructure_encryption ()
3271+ if kms_infrastructure_encryption and kms_infrastructure_encryption != "Disabled" :
3272+ if mc .security_profile is None :
3273+ mc .security_profile = self .models .ManagedClusterSecurityProfile () # pylint: disable=no-member
3274+
3275+ # Set or update the kubernetes resource object encryption profile
3276+ if mc .security_profile .kubernetes_resource_object_encryption_profile is None :
3277+ mc .security_profile .kubernetes_resource_object_encryption_profile = (
3278+ self .models .KubernetesResourceObjectEncryptionProfile () # pylint: disable=no-member
3279+ )
3280+
3281+ # Set infrastructure encryption
3282+ # pylint: disable=line-too-long
3283+ mc .security_profile .kubernetes_resource_object_encryption_profile .infrastructure_encryption = kms_infrastructure_encryption
3284+
3285+ return mc
3286+
32533287 def set_up_creationdata_of_cluster_snapshot (self , mc : ManagedCluster ) -> ManagedCluster :
32543288 """Set up creationData of cluster snapshot for the ManagedCluster object.
32553289
@@ -3784,6 +3818,8 @@ def construct_mc_profile_preview(self, bypass_restore_defaults: bool = False) ->
37843818 mc = self .set_up_image_cleaner (mc )
37853819 # set up image integrity
37863820 mc = self .set_up_image_integrity (mc )
3821+ # set up KMS infrastructure encryption
3822+ mc = self .set_up_kms_infrastructure_encryption (mc )
37873823 # set up cluster snapshot
37883824 mc = self .set_up_creationdata_of_cluster_snapshot (mc )
37893825 # set up app routing profile
0 commit comments