code: func (s *OutputGroupSettings) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "OutputGroupSettings"}
  	if s.ArchiveGroupSettings != nil {
  		if err := s.ArchiveGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("ArchiveGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.FrameCaptureGroupSettings != nil {
  		if err := s.FrameCaptureGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("FrameCaptureGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.HlsGroupSettings != nil {
  		if err := s.HlsGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("HlsGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.MediaPackageGroupSettings != nil {
  		if err := s.MediaPackageGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("MediaPackageGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.MsSmoothGroupSettings != nil {
  		if err := s.MsSmoothGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("MsSmoothGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.RtmpGroupSettings != nil {
  		if err := s.RtmpGroupSettings.Validate(); err != nil {
  			invalidParams.AddNested("RtmpGroupSettings", err.(request.ErrInvalidParams))
  		}
  	}
  
  	if invalidParams.Len() > 0 {
  		return invalidParams
  	}
  	return nil
  }
docs: // Validate inspects the fields of the type to determine if they are valid.