release_tracks: [GA, BETA, ALPHA]
help_text:
  brief: |
    Create a multicast group range.
  description: |
    Create a multicast group range in the specified location of the current project.
  examples: |
    Create a multicast group range with the name 'my-multicast-group-range',
    reserved-internal-range 'path-to-ir',
    multicast-domain 'path-to-md',
    and location 'global'.

      $ {command} my-multicast-group-range --reserved-internal-range=path-to-ir  --multicast-domain=path-to-md --location=global
arguments:
  resource:
    spec: !REF googlecloudsdk.command_lib.network_services.resources:multicastGroupRange
    help_text: |
      Name of the multicast group range to be created.
  params:
  - arg_name:  reserved-internal-range
    api_field: multicastGroupRange.reservedInternalRange
    help_text: The reserved internal range to be used.
    required: true
  - arg_name:  multicast-domain
    api_field: multicastGroupRange.multicastDomain
    help_text: The multicast domain to be used.
    required: true
  - arg_name: consumer-accept-list
    repeated: true
    api_field: multicastGroupRange.consumerAcceptList
    help_text: An optional list of consumer projects that can use this multicast group range.
  - arg_name: require-explicit-accept
    api_field: multicastGroupRange.requireExplicitAccept
    help_text: Whether an empty consumer accept list will reject all consumer projects.
  - arg_name: enable-logging
    api_field: multicastGroupRange.logConfig.enabled
    help_text: Whether to enable logging for this multicast group range.
    action: store_true_false
  - arg_name: distribution-scope
    api_field: multicastGroupRange.distributionScope
    help_text: Distribution scope of this multicast group range.
  - arg_name: description
    api_field: multicastGroupRange.description
    help_text: The description for the multicast group range.
  labels:
    api_field: multicastGroupRange.labels
async:
  collection: networkservices.projects.locations.operations
request: &request
  GA:
    api_version: v1
  ALPHA:
    api_version: v1alpha1
  BETA:
    api_version: v1beta1
  collection: networkservices.projects.locations.multicastGroupRanges
  method: create
