def Args(cls, parser): compute_holder = cls._GetComputeApiHolder(no_http=True) messages = compute_holder.client.messages instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) instances_flags.AddNoAddressArg(parser) labels_util.AddCreateLabelsFlags(parser) daisy_utils.AddCommonDaisyArgs(parser, operation='an import') daisy_utils.AddExtraCommonDaisyArgs(parser) instances_flags.INSTANCES_ARG_FOR_IMPORT.AddArgument( parser, operation_type='import') daisy_utils.AddOVFSourceUriArg(parser) parser.add_argument( '--os', required=False, choices=sorted(cls._OS_CHOICES), help='Specifies the OS of the image being imported.') daisy_utils.AddByolArg(parser) if cls.ReleaseTrack() != base.ReleaseTrack.GA: image_utils.AddGuestOsFeaturesArgForImport(parser, messages) parser.add_argument( '--description', help='Specifies a textual description of the VM instances.') daisy_utils.AddGuestEnvironmentArg(parser) parser.display_info.AddCacheUpdater(completers.InstancesCompleter) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) parser.add_argument('--hostname', help="""\ Specify the hostname of the VM instance to be imported. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. """) daisy_utils.AddComputeServiceAccountArg( parser, 'instance import', daisy_utils.IMPORT_ROLES_FOR_COMPUTE_SERVICE_ACCOUNT) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help=( 'However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the VM instance is imported with no ' 'scopes. Note that the level of access that a service ' 'account has is determined by a combination of access ' 'scopes and IAM roles so you must configure both ' 'access scopes and IAM roles for the service account ' 'to work properly.'), operation='Import')
def Args(parser): flags.INSTANCE_ARG.AddArgument(parser, operation_type='update') labels_util.AddUpdateLabelsFlags(parser) flags.AddMinCpuPlatformArgs(parser, UpdateAlpha.ReleaseTrack()) flags.AddDeletionProtectionFlag(parser, use_default_value=False) flags.AddShieldedVMConfigArgs(parser, use_default_value=False, for_update=True) flags.AddShieldedVMIntegrityPolicyArgs(parser)
def _CommonArgs(parser, release_track, support_public_dns, support_public_ptr, support_network_tier, enable_regional=False, support_local_ssd_size=False, enable_kms=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddDiskArgs(parser, enable_regional, enable_kms=enable_kms) if release_track in [base.ReleaseTrack.ALPHA]: instances_flags.AddCreateDiskArgs(parser, enable_kms=enable_kms) if support_local_ssd_size: instances_flags.AddLocalSsdArgsWithSize(parser) else: instances_flags.AddLocalSsdArgs(parser) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAddressArgs( parser, instances=True, support_network_tier=support_network_tier) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) deprecate_maintenance_policy = release_track in [base.ReleaseTrack.ALPHA] instances_flags.AddMaintenancePolicyArgs(parser, deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs(parser, False) instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddImageArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) if support_public_dns: instances_flags.AddPublicDnsArgs(parser, instance=True) if support_public_ptr: instances_flags.AddPublicPtrArgs(parser, instance=True) if support_network_tier: instances_flags.AddNetworkTierArgs(parser, instance=True) labels_util.AddCreateLabelsFlags(parser) instances_flags.AddMinCpuPlatformArgs(parser, release_track) parser.add_argument( '--description', help='Specifies a textual description of the instances.') instances_flags.INSTANCES_ARG_FOR_CREATE.AddArgument( parser, operation_type='create') csek_utils.AddCsekKeyArgs(parser) base.ASYNC_FLAG.AddToParser(parser) parser.display_info.AddFormat( resource_registry.RESOURCE_REGISTRY['compute.instances'].list_format)
def _CommonArgs(parser, enable_regional=False, enable_kms=False, enable_snapshots=False, deprecate_maintenance_policy=False, supports_display_device=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddDiskArgs(parser, enable_regional, enable_kms=enable_kms) instances_flags.AddCreateDiskArgs(parser, enable_kms=enable_kms, enable_snapshots=enable_snapshots) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAddressArgs(parser, instances=True) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddMaintenancePolicyArgs( parser, deprecate=deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help='However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the instance will be created with no ' 'scopes.') instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddHostnameArg(parser) instances_flags.AddImageArgs(parser, enable_snapshots=enable_snapshots) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddPublicPtrArgs(parser, instance=True) instances_flags.AddNetworkTierArgs(parser, instance=True) if supports_display_device: instances_flags.AddDisplayDeviceArg(parser) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) labels_util.AddCreateLabelsFlags(parser) parser.add_argument( '--description', help='Specifies a textual description of the instances.') instances_flags.INSTANCES_ARG_FOR_CREATE.AddArgument( parser, operation_type='create') csek_utils.AddCsekKeyArgs(parser) base.ASYNC_FLAG.AddToParser(parser) parser.display_info.AddFormat( resource_registry.RESOURCE_REGISTRY['compute.instances'].list_format) parser.display_info.AddCacheUpdater(completers.InstancesCompleter)
def Args(parser): flags.INSTANCE_ARG.AddArgument(parser, operation_type='update') labels_util.AddUpdateLabelsFlags(parser) flags.AddMinCpuPlatformArgs(parser, UpdateAlpha.ReleaseTrack()) flags.AddDeletionProtectionFlag(parser, use_default_value=False) flags.AddShieldedInstanceConfigArgs(parser, use_default_value=False, for_update=True) flags.AddShieldedInstanceIntegrityPolicyArgs(parser) flags.AddDisplayDeviceArg(parser, is_update=True) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser, is_update=True)
def Args(cls, parser): instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) labels_util.AddCreateLabelsFlags(parser) daisy_utils.AddCommonDaisyArgs(parser, add_log_location=False) daisy_utils.AddExtraCommonDaisyArgs(parser) instances_flags.INSTANCES_ARG_FOR_IMPORT.AddArgument( parser, operation_type='import') parser.add_argument( '--source-uri', required=True, help=('Google Cloud Storage path to one of:\n OVF descriptor\n ' 'OVA file\n Directory with OVF package')) parser.add_argument( '--os', required=False, choices=sorted(os_choices.OS_CHOICES_INSTANCE_IMPORT_BETA), help='Specifies the OS of the image being imported.') parser.add_argument( '--description', help='Specifies a textual description of the instances.') parser.add_argument( '--guest-environment', action='store_true', default=True, help='Google Guest Environment will be installed on the instance.') parser.display_info.AddCacheUpdater(completers.InstancesCompleter) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) parser.add_argument('--hostname', help="""\ Specify the hostname of the instance to be imported. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. """)
def Args(cls, parser): parser.add_argument('--sole-tenancy-host', help=argparse.SUPPRESS) _CommonArgs(parser, release_track=base.ReleaseTrack.ALPHA, support_public_dns=cls._support_public_dns, support_network_tier=cls._support_network_tier, enable_regional=True, support_local_ssd_size=True, enable_kms=True) instances_flags.AddMinCpuPlatformArgs(parser, base.ReleaseTrack.ALPHA) instances_flags.AddDeletionProtectionFlag(parser) CreateAlpha.SOURCE_INSTANCE_TEMPLATE = ( instances_flags.MakeSourceInstanceTemplateArg()) CreateAlpha.SOURCE_INSTANCE_TEMPLATE.AddArgument(parser)
def Args(cls, parser): instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) labels_util.AddCreateLabelsFlags(parser) daisy_utils.AddCommonDaisyArgs(parser, add_log_location=False) instances_flags.INSTANCES_ARG_FOR_IMPORT.AddArgument( parser, operation_type='import') parser.add_argument( '--source-uri', required=True, help=('Google Cloud Storage path to one of:\n OVF descriptor\n ' 'OVA file\n Directory with OVF package')) parser.add_argument( '--os', required=True, choices=sorted(os_choices.OS_CHOICES_INSTANCE_IMPORT_ALPHA), help='Specifies the OS of the image being imported.') parser.add_argument( '--description', help='Specifies a textual description of the instances.') parser.add_argument( '--guest-environment', action='store_true', default=True, help='Google Guest Environment will be installed on the instance.') parser.display_info.AddCacheUpdater(completers.InstancesCompleter) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser)
def Args(cls, parser): instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) instances_flags.AddNoAddressArg(parser) labels_util.AddCreateLabelsFlags(parser) daisy_utils.AddCommonDaisyArgs(parser) daisy_utils.AddExtraCommonDaisyArgs(parser) instances_flags.INSTANCES_ARG_FOR_IMPORT.AddArgument( parser, operation_type='import') daisy_utils.AddOVFSourceUriArg(parser) parser.add_argument( '--os', required=False, choices=sorted(cls._OS_CHOICES), help='Specifies the OS of the image being imported.') parser.add_argument( '--description', help='Specifies a textual description of the instances.') daisy_utils.AddGuestEnvironmentArg(parser) parser.display_info.AddCacheUpdater(completers.InstancesCompleter) sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) parser.add_argument('--hostname', help="""\ Specify the hostname of the instance to be imported. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. """)
def _CommonArgs(parser, enable_regional=False, enable_kms=False, deprecate_maintenance_policy=False, enable_resource_policy=False, supports_min_node_cpus=False, supports_location_hint=False, snapshot_csek=False, image_csek=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddDiskArgs(parser, enable_regional, enable_kms=enable_kms) instances_flags.AddCreateDiskArgs(parser, enable_kms=enable_kms, enable_snapshots=True, resource_policy=enable_resource_policy, source_snapshot_csek=snapshot_csek, image_csek=image_csek) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAddressArgs(parser, instances=True) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddMaintenancePolicyArgs( parser, deprecate=deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help='However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the instance will be created with no ' 'scopes. Note that the level of access that a service ' 'account has is determined by a combination of access ' 'scopes and IAM roles so you must configure both ' 'access scopes and IAM roles for the service account ' 'to work properly.') instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddHostnameArg(parser) instances_flags.AddImageArgs(parser, enable_snapshots=True) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddPublicPtrArgs(parser, instance=True) instances_flags.AddNetworkTierArgs(parser, instance=True) instances_flags.AddShieldedInstanceConfigArgs(parser) instances_flags.AddDisplayDeviceArg(parser) instances_flags.AddReservationAffinityGroup( parser, group_text='Specifies the reservation for the instance.', affinity_text='The type of reservation for the instance.') sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) if supports_min_node_cpus: sole_tenancy_flags.AddMinNodeCpusArg(parser) if supports_location_hint: instances_flags.AddLocationHintArg(parser) labels_util.AddCreateLabelsFlags(parser) parser.add_argument( '--description', help='Specifies a textual description of the instances.') instances_flags.INSTANCES_ARG_FOR_CREATE.AddArgument( parser, operation_type='create') csek_utils.AddCsekKeyArgs(parser) base.ASYNC_FLAG.AddToParser(parser) parser.display_info.AddFormat( resource_registry.RESOURCE_REGISTRY['compute.instances'].list_format) parser.display_info.AddCacheUpdater(completers.InstancesCompleter)
def _CommonArgs( parser, # TODO(b/80138906): Release track should not be passed around. release_track, support_public_dns, support_network_tier, enable_regional=False, support_local_ssd_size=False, enable_kms=False, support_sole_tenancy=False, supports_resource_policies=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddDiskArgs(parser, enable_regional, enable_kms=enable_kms) instances_flags.AddCreateDiskArgs(parser, enable_kms=enable_kms) if support_local_ssd_size: instances_flags.AddLocalSsdArgsWithSize(parser) else: instances_flags.AddLocalSsdArgs(parser) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAddressArgs(parser, instances=True, support_network_tier=support_network_tier) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) deprecate_maintenance_policy = release_track in [base.ReleaseTrack.ALPHA] instances_flags.AddMaintenancePolicyArgs(parser, deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help='However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the instance will be created with no ' 'scopes.') instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddImageArgs(parser) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddPublicPtrArgs(parser, instance=True) if support_public_dns: instances_flags.AddPublicDnsArgs(parser, instance=True) if support_network_tier: instances_flags.AddNetworkTierArgs(parser, instance=True) if support_sole_tenancy: sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) if supports_resource_policies: maintenance_flags.AddResourcePoliciesArgs(parser, 'added to', 'instance') labels_util.AddCreateLabelsFlags(parser) instances_flags.AddMinCpuPlatformArgs(parser, release_track) parser.add_argument( '--description', help='Specifies a textual description of the instances.') instances_flags.INSTANCES_ARG_FOR_CREATE.AddArgument( parser, operation_type='create') csek_utils.AddCsekKeyArgs(parser) base.ASYNC_FLAG.AddToParser(parser) parser.display_info.AddFormat( resource_registry.RESOURCE_REGISTRY['compute.instances'].list_format) parser.display_info.AddCacheUpdater(completers.InstancesCompleter)
def Args(parser): flags.INSTANCE_ARG.AddArgument(parser, operation_type='update') labels_util.AddUpdateLabelsFlags(parser) flags.AddMinCpuPlatformArgs(parser, Update.ReleaseTrack()) flags.AddDeletionProtectionFlag(parser, use_default_value=False)
def _CommonArgs(parser, enable_regional=False, enable_kms=False, deprecate_maintenance_policy=False, supports_erase_vss=False, snapshot_csek=False, image_csek=False, support_multi_writer=False, support_replica_zones=False, support_subinterface=False, support_node_project=False, support_host_error_timeout_seconds=False, support_numa_node_count=False, support_disk_architecture=False, support_network_queue_count=False, support_instance_kms=False, support_max_run_duration=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddDiskArgs(parser, enable_regional, enable_kms=enable_kms) instances_flags.AddCreateDiskArgs( parser, enable_kms=enable_kms, enable_snapshots=True, source_snapshot_csek=snapshot_csek, image_csek=image_csek, support_boot=True, support_multi_writer=support_multi_writer, support_replica_zones=support_replica_zones, support_disk_architecture=support_disk_architecture) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAddressArgs( parser, instances=True, support_subinterface=support_subinterface, instance_create=True, support_network_queue_count=support_network_queue_count) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddMaintenancePolicyArgs( parser, deprecate=deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help='However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the instance will be created with no ' 'scopes. Note that the level of access that a service ' 'account has is determined by a combination of access ' 'scopes and IAM roles so you must configure both ' 'access scopes and IAM roles for the service account ' 'to work properly.') instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddPrivateNetworkIpArgs(parser) instances_flags.AddHostnameArg(parser) instances_flags.AddImageArgs(parser, enable_snapshots=True, support_image_family_scope=True) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddPublicPtrArgs(parser, instance=True) instances_flags.AddIpv6PublicPtrDomainArg(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) instances_flags.AddShieldedInstanceConfigArgs(parser) instances_flags.AddDisplayDeviceArg(parser) instances_flags.AddMinNodeCpuArg(parser) instances_flags.AddNestedVirtualizationArgs(parser) instances_flags.AddThreadsPerCoreArgs(parser) instances_flags.AddEnableUefiNetworkingArgs(parser) instances_flags.AddResourceManagerTagsArgs(parser) if support_numa_node_count: instances_flags.AddNumaNodeCountArgs(parser) instances_flags.AddStackTypeArgs(parser) instances_flags.AddIpv6NetworkTierArgs(parser) instances_flags.AddNetworkPerformanceConfigsArgs(parser) instances_flags.AddProvisioningModelVmArgs(parser) instances_flags.AddInstanceTerminationActionVmArgs(parser) instances_flags.AddReservationAffinityGroup( parser, group_text='Specifies the reservation for the instance.', affinity_text='The type of reservation for the instance.') maintenance_flags.AddResourcePoliciesArgs(parser, 'added to', 'instance') sole_tenancy_flags.AddNodeAffinityFlagToParser(parser) instances_flags.AddLocationHintArg(parser) if supports_erase_vss: flags.AddEraseVssSignature( parser, 'source snapshots or source machine' ' image') labels_util.AddCreateLabelsFlags(parser) parser.add_argument( '--description', help='Specifies a textual description of the instances.') instances_flags.INSTANCES_ARG_FOR_CREATE.AddArgument( parser, operation_type='create') csek_utils.AddCsekKeyArgs(parser) base.ASYNC_FLAG.AddToParser(parser) parser.display_info.AddFormat(instances_flags.DEFAULT_LIST_FORMAT) parser.display_info.AddCacheUpdater(completers.InstancesCompleter) if support_node_project: instances_flags.AddNodeProjectArgs(parser) if support_host_error_timeout_seconds: instances_flags.AddHostErrorTimeoutSecondsArgs(parser) if support_instance_kms: instances_flags.AddInstanceKmsArgs(parser) if support_max_run_duration: instances_flags.AddMaxRunDurationVmArgs(parser)
def _CommonArgs(parser, deprecate_maintenance_policy=False, enable_resource_policy=False, supports_min_node_cpu=False, supports_location_hint=False, supports_erase_vss=False, snapshot_csek=False, image_csek=False): """Register parser args common to all tracks.""" metadata_utils.AddMetadataArgs(parser) instances_flags.AddCreateDiskArgs(parser, enable_snapshots=True, resource_policy=enable_resource_policy, source_snapshot_csek=snapshot_csek, image_csek=image_csek, include_name=False) instances_flags.AddCanIpForwardArgs(parser) instances_flags.AddAcceleratorArgs(parser) instances_flags.AddMachineTypeArgs(parser) instances_flags.AddMaintenancePolicyArgs( parser, deprecate=deprecate_maintenance_policy) instances_flags.AddNoRestartOnFailureArgs(parser) instances_flags.AddPreemptibleVmArgs(parser) instances_flags.AddServiceAccountAndScopeArgs( parser, False, extra_scopes_help='However, if neither `--scopes` nor `--no-scopes` are ' 'specified and the project has no default service ' 'account, then the instance will be created with no ' 'scopes. Note that the level of access that a service ' 'account has is determined by a combination of access ' 'scopes and IAM roles so you must configure both ' 'access scopes and IAM roles for the service account ' 'to work properly.') instances_flags.AddTagsArgs(parser) instances_flags.AddCustomMachineTypeArgs(parser) instances_flags.AddNoAddressArg(parser) instances_flags.AddNetworkArgs(parser) instances_flags.AddNetworkTierArgs(parser, instance=True) instances_flags.AddBulkCreateNetworkingArgs(parser) instances_flags.AddImageArgs(parser, enable_snapshots=True) instances_flags.AddDeletionProtectionFlag(parser) instances_flags.AddShieldedInstanceConfigArgs(parser) instances_flags.AddDisplayDeviceArg(parser) instances_flags.AddReservationAffinityGroup( parser, group_text='Specifies the reservation for the instance.', affinity_text='The type of reservation for the instance.') maintenance_flags.AddResourcePoliciesArgs(parser, 'added to', 'instance') if supports_min_node_cpu: instances_flags.AddMinNodeCpuArg(parser) if supports_location_hint: instances_flags.AddLocationHintArg(parser) if supports_erase_vss: flags.AddEraseVssSignature( parser, 'source snapshots or source machine' ' image') labels_util.AddCreateLabelsFlags(parser) parser.add_argument( '--description', help='Specifies a textual description of the instances.') base.ASYNC_FLAG.AddToParser(parser)