HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //snap/google-cloud-cli/current/lib/surface/scc/custom_modules/sha/update.yaml
- release_tracks: [ALPHA, GA]

  help_text:
    brief: Update a Security Health Analytics custom module.
    description: Update a Security Health Analytics custom module.
    examples: |
      To update a Security Health Analytics custom module with ID `123456` for organization `123, run`:

        $ {command} 123456 \
            --organization=organizations/123 \
            --enablement-state="ENABLED" \
            --custom-config-from-file=custom_config.yaml

      To update a Security Health Analytics custom module with ID `123456` for folder `456`, run:

        $ {command} 123456 \
            --folder=folders/456 \
            --enablement-state="ENABLED" \
            --custom-config-from-file=custom_config.yaml

      To update a Security Health Analytics custom module with ID `123456` for project `789`, run:

        $ {command} 123456 \
            --project=projects/789 \
            --enablement-state="ENABLED" \
            --custom-config-from-file=custom_config.yaml

  request:
    collection: securitycenter.organizations.securityHealthAnalyticsSettings.customModules
    disable_resource_check: true
    api_version: v1
    modify_request_hooks:
    - googlecloudsdk.command_lib.scc.custom_modules.sha.request_hooks:UpdateSecurityHealthAnalyticsCustomModuleReqHook

  arguments:

    params:
    - arg_name: custom_module
      api_field: name
      is_positional: true
      required: true
      help_text: |
        ID or the full resource name of the Security Health Analytics custom module. If you specify the full resource name, you do not need to specify the --organization, --folder, or --project flags.

    - group:
        mutex: true
        params:
        - arg_name: organization
          api_field: name
          help_text: |
            Organization where the Security Health Analytics custom module resides. Formatted as `organizations/123` or just `123`.

        - arg_name: folder
          api_field: name
          help_text: |
            Folder where the Security Health Analytics custom module resides. Formatted as `folders/456` or just `456`.

        - arg_name: project
          api_field: name
          help_text: |
            ID or number of the project where the Security Health Analytics custom module resides. Formatted as `projects/789` or just `789`.


    - arg_name: enablement-state
      api_field: googleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule.enablementState
      is_positional: false
      required: false
      help_text: |
        Sets the enablement state of the Security Health Analytics custom module. From the following list of possible enablement states, specify either enabled, disabled or inherited only

    - arg_name: custom-config-from-file
      api_field: googleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule.customConfig
      type: "googlecloudsdk.calliope.arg_parsers:FileContents:"
      processor: googlecloudsdk.command_lib.scc.hooks:ProcessCustomConfigFile
      is_positional: false
      help_text: |
        Path to a YAML file that contains the configuration for the Security Health Analytics custom module.

    - arg_name: update-mask
      api_field: updateMask
      help_text: |
        Optional: If left unspecified (default), an update-mask is automatically created using the
        flags specified in the command and only those values are updated.