@@ -794,6 +794,30 @@ message ManagedGroupConfig {
794794// Instance flexibility Policy allowing a mixture of VM shapes and provisioning
795795// models.
796796message InstanceFlexibilityPolicy {
797+ // Defines how Dataproc should create VMs with a mixture of provisioning
798+ // models.
799+ message ProvisioningModelMix {
800+ // Optional. The base capacity that will always use Standard VMs to avoid
801+ // risk of more preemption than the minimum capacity you need. Dataproc will
802+ // create only standard VMs until it reaches standard_capacity_base, then it
803+ // will start using standard_capacity_percent_above_base to mix Spot with
804+ // Standard VMs. eg. If 15 instances are requested and
805+ // standard_capacity_base is 5, Dataproc will create 5 standard VMs and then
806+ // start mixing spot and standard VMs for remaining 10 instances.
807+ optional int32 standard_capacity_base = 1
808+ [(google.api.field_behavior ) = OPTIONAL ];
809+
810+ // Optional. The percentage of target capacity that should use Standard VM.
811+ // The remaining percentage will use Spot VMs. The percentage applies only
812+ // to the capacity above standard_capacity_base. eg. If 15 instances are
813+ // requested and standard_capacity_base is 5 and
814+ // standard_capacity_percent_above_base is 30, Dataproc will create 5
815+ // standard VMs and then start mixing spot and standard VMs for remaining 10
816+ // instances. The mix will be 30% standard and 70% spot.
817+ optional int32 standard_capacity_percent_above_base = 2
818+ [(google.api.field_behavior ) = OPTIONAL ];
819+ }
820+
797821 // Defines machines types and a rank to which the machines types belong.
798822 message InstanceSelection {
799823 // Optional. Full machine-type names, e.g. "n1-standard-16".
@@ -818,6 +842,11 @@ message InstanceFlexibilityPolicy {
818842 optional int32 vm_count = 2 [(google.api.field_behavior ) = OUTPUT_ONLY ];
819843 }
820844
845+ // Optional. Defines how the Group selects the provisioning model to ensure
846+ // required reliability.
847+ ProvisioningModelMix provisioning_model_mix = 1
848+ [(google.api.field_behavior ) = OPTIONAL ];
849+
821850 // Optional. List of instance selection options that the group will use when
822851 // creating new VMs.
823852 repeated InstanceSelection instance_selection_list = 2
@@ -883,6 +912,19 @@ message DiskConfig {
883912 // See [local SSD
884913 // performance](https://cloud.google.com/compute/docs/disks/local-ssd#performance).
885914 string local_ssd_interface = 4 [(google.api.field_behavior ) = OPTIONAL ];
915+
916+ // Optional. Indicates how many IOPS to provision for the disk. This sets the
917+ // number of I/O operations per second that the disk can handle. Note: This
918+ // field is only supported if boot_disk_type is hyperdisk-balanced.
919+ optional int64 boot_disk_provisioned_iops = 5
920+ [(google.api.field_behavior ) = OPTIONAL ];
921+
922+ // Optional. Indicates how much throughput to provision for the disk. This
923+ // sets the number of throughput mb per second that the disk can handle.
924+ // Values must be greater than or equal to 1. Note: This field is only
925+ // supported if boot_disk_type is hyperdisk-balanced.
926+ optional int64 boot_disk_provisioned_throughput = 6
927+ [(google.api.field_behavior ) = OPTIONAL ];
886928}
887929
888930// Node group identification and configuration information.
0 commit comments