- release_tracks: [ALPHA]
  help_text:
    brief: Create a new Cloud Media Asset complex type.
    description: Create a new Media Asset complex type.
    examples: |
      To create a new complext type with id  my-ct with in the default project and 'us-central1' location, run:

        $ {command} my-ct my-ct --complex-type-config-file complex_type_configs.json

      , where complex_type_configs.json content can be:
      {
        "fields": {
          "testField1": {
            "required":true,
            "type":"string"
          }
        },
        "allowUndefinedFields" : true
      }

  request:
    collection: mediaasset.projects.locations.complexTypes
    method: create
    modify_request_hooks:
    - googlecloudsdk.command_lib.media.asset.hooks:AddDefaultParentInfoToAssetTypeRequests
    - googlecloudsdk.command_lib.media.asset.complex_types.hooks:ParseComplexTypeConfigFile
    ALPHA:
      api_version: v1alpha

  arguments:
    resource:
      help_text: The Cloud Media Asset asset type to create.
      spec: !REF googlecloudsdk.command_lib.media.asset.resources:complex_type

    params:
    - _REF_: googlecloudsdk.command_lib.media.asset.flags:complex-type-config-file

    labels:
      api_field: complexType.labels

  response:
    modify_response_hooks:
    - googlecloudsdk.command_lib.media.asset.complex_types.hooks:ProcessOutput
